Collabora Office 24.04 Help
Gebruik het object Err [VBA] om fouten te laten optreden en om fouten tijdens uitvoering af te handelen.
Met het interne globale object Err kunt u:
voorgedefinieerde Basic-fouten laten optreden
gebruikergedefinieerde uitzonderingen laten optreden
de routine aangeven waarin de fout optreedt
de fout beschrijven en de mogelijke oplossingen aangeven
Het VBA object Err heeft de volgende eigenschappen en methodes:
Err.Description As String
De eigenschap Description geeft de aard van de fout aan. Description beschrijft wat de oorzaken kunnen zijn van het optreden van de fout. Ideaal zou het zijn als er ook acties genoemd worden om het probleem te verhelpen en het opnieuw optreden te voorkomen. De Basic alias hiervoor de functie Error voor voorgedefinieerde fouten in Collabora Office.
Err.Number As Long
De foutcode die bij de fout hoort. De eigenschap in het object Err is hier standaard Number. De Collabora Office Basic alias is de functie Err.
Err.Source As String
Source geeft de naam aan van de routine waarin de fout is opgetreden. Source is een optie bij door gebruikers gedefinieerde fouten.
Err.Clear()
Reset de description, Erl, number en source eigenschappen van de huidige fout. De Collabora Office Basic alias is de instructie Resume.
Err.Raise(Number As Long, Optional source As String, Optional description As String)
Zorgt dat er een gebruikergedefinieerde fout of een vooraf gedefinieerde fout optreedt. Dit is gelijkwaardig aan de Collabora Office Basic instructie Error.
Number: De gebruikergedefinieerde of vooraf gedefinieerde fout die moet optreden.
De foutcodes 0-2000 zijn gereserveerd voor Collabora Office Basic. Als er door gebruikers fouten worden gedefinieerd dan moeten die een hogere foutcode krijgen dan 2000 om in de toekomst problemen met nieuwe uitbreidingen van Collabora Office Basic te voorkomen.
Source: De naam van de routine waarin de fout is opgetreden dan wel aangemaakt. Aanbevolen wordt een naam als "myLibrary.myModule.myProc".
Description: Een beschrijving van de reden waarom de verwerking is gestopt, met de mogelijke oorzaken. We bevelen aan dat er ook een toelichting is met de acties die gedaan kunnen worden om de fout te voorkomen of om die op te lossen.
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:="Dit is een fout die door een gebruiker van te voren is gedefinieerd …"
Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
Exit Sub
AlertAndExecNext:
errTitle = "Fout "& Err &" op regel "& Erl &" in "& Err.Source
MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
Resume Next
End Sub
Met de optie ClassModule, dat het VBA object Err omvat, kunnen de eigenschappen en methoden van Err gebruikt worden door de standaard Collabora Office Basic modules.
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", _
"Een beschrijving van mogelijk meerdere regels van deze door de gebruiker gedefinieerde exception")
' hier komt uw code…
finally:
Exit Sub
catch:
errTitle = "Fout "& Exc.Number &" op regel "& Erl &" in "& Exc.Source
MsgBox Exc.Description, MB_ICONSTOP, errTitle
Resume finally
End Sub
De instructie Error of een klassemodule als Exception kunnen door elkaar gebruikt worden, met de klassemodule heeft u wat meer mogelijkheden.