Nápověda Collabora Office 24.04
Objekt VBA Err se používá k vyvolávání nebo zpracovávání chyb při běhu.
Err je vestavěný globální objekt VBA, který umožňuje:
vyvolat předem definované chyby Basicu
vyvolat uživatelem definované výjimky
určit program, v němž chyba vznikla
popsat chybu a možná řešení
Objekt VBA Err má následující vlastnosti a metody:
Err.Description As String
Vlastnost Description udává charakter chyby. Obsahuje podrobnosti o příčinách, které mohly chyby způsobit. V ideálním případě nabízí kroky, které problém vyřeší a zabrání jeho zopakování. V jazyce Basic je jejím aliasem pro předem definované chyby Collabora Office funkce Error.
Err.Number As Long
Výchozí vlastností objektu Err je Number. Jedná se o kód odpovídající chybě. V jazyce Collabora Office Basic je jejím aliasem funkce Err.
Err.Source As String
Source označuje název programu, v němž chyba vznikla. Source je možné určit u chyb definovaných uživatelem.
Err.Clear()
Vymaže u aktuální chyby vlastnosti Description, Erl, Number a Source. V jazyce Collabora Office Basic je jejím aliasem příkaz Resume.
Err.Raise(Number As Long, Optional source As String, Optional description As String)
Vyvolá uživatelem definovanou nebo předem definovanou chybu. V jazyce Collabora Office Basic je jejím aliasem příkaz Error.
Number: Uživatelem definovaný nebo předem definovaný kód chyby, která se má vyvolat.
Rozsah chybových kódů 0–2000 je vyhrazen pro Collabora Office Basic. Aby se zabránilo konfliktu během budoucího vývoje jazyka, mohou mít uživatelem definované chyby pouze větší hodnoty.
Source: Název programu, v němž byla chyba vyvolána. Doporučuje se název ve tvaru "mojeKnihovna.mujModul.mojeProcedura".
Description: Popis problému, který vedl k zastavení běžícího procesu, spolu s možnými příčinami. Doporučuje se připojit seznam kroků, které mohou problém vyřešit.
Option VBASupport 1
Sub ThrowErrors
Dim aDesc As String : aDesc = Space(80)
On Local Error GoTo AlertAndExecNext
Err.Raise(91, "ThrowErrors", Error(91))
Err.Raise 2020, Description:="Toto je záměrná uživatelem definovaná chyba…"
Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
Exit Sub
AlertAndExecNext:
errTitle = "Chyba "& Err &" na řádku "& Erl &" v "& Err.Source
MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
Resume Next
End Sub
Jednoduchý ClassModule, který obaluje objekt VBA Err a který může být použit pro přístup k vlastnostem a metodám objektu Err ze standardních modulů jazyka Collabora Office Basic.
Option ClassModule
Option VBASupport 1
Public Property Get Description As String
Description = Err.Description
End Property
Public Property Get Number As Long
Number = Err.Number
End Property
Public Property Get Source As String
Source = Err.Source
End Property
Public Sub Clear
Err.Clear
End Sub
Public Sub Raise( number As Long, Optional Source As String, Optional Description As String)
Err.Raise number, Source, Description
End Sub
Function Exc As Object
Exc = New Exception
End Function
Sub aRoutine
try:
On Local Error GoTo catch:
Exc.Raise(4096, "myLib.myModule.aRoutine", _
"Jakýkoliv několikařádkový popis této uživatelem definované výjimky")
' místo pro vlastní kód
finally:
Exit Sub
catch:
errTitle = "Chyba "& Exc.Number &" na řádku "& Erl &" v "& Exc.Source
MsgBox Exc.Description, MB_ICONSTOP, errTitle
Resume finally
End Sub
Příkaz Error a modul třídy jako Exception mohou být vzájemně zaměňovány kromě případů, kdy modul přidává vlastnosti navíc.