objektet Err [VBA]

Brug VBA-objektet Err til rejse eller håndtere afviklingsfejl.

Err er et indbygget VBA-globalt objekt, som tillader:

warning

Denne konstant, funktion eller objekt blev aktiveret med udtrykket Option VBASupport 1 placeret foran den del af modulets programkode, der kan udføres.


VBA-objektet Err har følgende egenskaber og metoder:

Egenskaber

Err.Description As String

Egenskaben Description angiver fejlens natur. Description opregner de forskellige grunde, der kan udløse fejlen. Ideelt giver den flere fremgangsmåder som hjælp til løse problemmet og forebygge dets genopståen. Basic alias er funktionen Error for Collabora Office forfuddefinerede fejl.

Err.Number As Long

Fejlkoden er knyttet til fejlen. Objektet Errs standardegenskab er Number. Collabora Office Basics alias er funktionen Err.

Err.Source As String

Source viser navnet på den rutine, der giver fejlen Source er valgfri for bruger-definerede fejl.

Metoder

Err.Clear()

Nulstiller den aktuelle fejls beskrivelse, Erl, nummer og kildeegenskaber. Collabora Office Basics alias er erklæringen Resume.

Err.Raise(Number As Long, Optional source As String, Optional description As String)

Kaster brugerdefinerede eller foruddefinerede fejl. Collabora Office Basics alias er erklæringen Error.

Parametre

Number: En brugerdefineret eller foruddefineret fejlkode, der sættes.

note

Fejlkode-området 0-2000 er reserveret til Collabora Office Basic. Brugerdefinerede fejl kan begynde med højere værdier, for at forebygge sammenstød med kommende Collabora Office Basic udvikling.


Source: Navnet på den rutine, der udløser fejlen. Der anbefales et navn på formen "myLibrary.myModule.myProc".

Description: En beskrivelse af problemet, der ledte til stop af den kørende proces, ledsaget af de forskellige udløsende grunde til det. En detaljeret liste over de mulige fremgangsmåder, der kan lette løsningen af problemet anbefales.

Eksempel:

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:="Dette er en tilsigtet brugerdefineret fejl…"
    Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
    Exit Sub
AlertAndExecNext:
    errTitle = "Error "& Err &" at line "& Erl &" in "& Err.Source
    MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
    Resume Next
End Sub

Undtagelsen ClassModule

tip

Et kort ClassModule, er foldet omkring VBA Err-objektet, kan distribuere Err egenskaber og metoder til standard Collabora Office Basic-moduler.


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

Eksempel

Function Exc As Object
    Exc = New Exception
End Function

Sub aRoutine
try:
    On Local Error GoTo catch:
    Exc.Raise(4096, "myLib.myModule.aRoutine", _
        "Enhver flerlinjet beskrivelse af denne brugerdefinerede undtagelse")
    ' din kode skrives her …
finally:
    Exit Sub
catch:
    errTitle = "Error "& Exc.Number &" at line "& Erl &" in "& Exc.Source
    MsgBox Exc.Description, MB_ICONSTOP, errTitle
    Resume finally
End Sub
note

Udtrykket Error eller et undtagelseslignende klassemodul kan bruges i flæng, mens det sidste tilføjer ekstra funktionaliteter.


Støt os venligst!