Err VBA Object

Innhald
Innhaldsliste 🔎︎

# Err Object [VBA]

Bruk VBA-objektet Err for å heva eller handsama køyretidsfeil.

Err er eit innebygd VBA-objekt som tillet:

- for å visa førehandsdefinerte feil i Basic

- for å fjerna brukardefinerte unnatak

- å setja namn på rutinen som var årsaka til feilen

- å skildra feilen og mogleg løysing

Denne konstanten eller funksjonen eller dette objektet vert slått på med uttrykket Option VBASupport 1 sett framføre den køyrbare programkoden i ein modul.

The VBA Err object has the following properties and methods:

## Eigenskapar

             Err.Description As String

The Description property gives the nature of the error. Description details the various reasons that may be the cause of the error. Ideally, it provides the multiple course of actions to help solve the issue and prevent its reoccurrence. The Basic alias is the Error function for LibreOffice predefined errors.

             Err.Number As Long

The error code associated with the error. Err object default property is Number. The LibreOffice Basic alias is the Err function.

             Err.Source As String

Source viser namnet på rutinen som var årsak til feilen. Source er ei innstilling for brukardefinerte feil.

## Metodar

             Err.Clear()

Resets description, Erl, number and source properties of current error. The LibreOffice Basic alias is the Resume statement.

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

Throws user-defined errors or predefined errors. The LibreOffice Basic alias is the Error statement.

### Parametrar

Number: A user-defined or predefined error code to be raised.

Feilkodane 0-2000 er reserverte for LibreOffice Basic. Brukardefinerte feil må byrja frå høgare verdiar for å unngå kollisjon med framtidige utgåver av LibreOffice Basic.

Source: The name of the routine raising the error. A name in the form of "myLibrary.myModule.myProc" is recommended.

Description: A description of the problem leading to stop the running process, accompanied with the various reasons that may cause it. A detailed list of the possible course of actions that may help solve the problem is recommended.

### 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:="This is an intended user-defined error …"
                 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

## Unntak ClassModule

Ein kort ClassModule som omsluttar VBA Err-objekt kan fordela Err-eigenskapar og metodar for standard LibreOffice Basic-modular.

             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", _
                     "Kva fleirlinja skildring som helst av dette brukardefinerte unntaket")
                 ' her kjem koden din
             finally:
                 Exit Sub
             catch:
                 errTitle = "Error "& Exc.Number &" at line "& Erl &" in "& Exc.Source
                 MsgBox Exc.Description, MB_ICONSTOP, errTitle
                 Resume finally
             End Sub

Uttrykket Error eller ein unntaksliknande klassemodul kan brukast om kvarandre, men den sistnemnde legg til ekstra funksjonar.

Liknande emne

Funksjonar for feilhandsaming

Option ClassModule-uttrykket

Option VBASupport-uttrykket