Err VBA-objekt

Innhold
Innholdsliste 🔎︎

# Err Object [VBA]

Bruk VBA Feil-objektet for å registrere eller håndtere kjøretidsfeil.

Err er et innebygd VBA globalt objekt som tillater:

- å registrere forhåndsdefinerte Basic feil

- å vise brukerdefinerte unntak

- for å navngi rutinen som forårsaket feilen

- for å beskrive feilen og mulige løsninger

Denne konstanten, funksjonen eller objektet er aktivert med utsagnet Option VBASupport 1 plassert før den kjørbare programkoden i en modul.

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

## Egenskaper

             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

Kilde angir navnet på rutinen som produserer feilen. Kilde er et alternativ for brukerdefinerte feil.

## Metoder

             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.

### Parametre

Nummer: En brukerdefinert eller forhåndsdefinert feilkode som skal hentes.

Feilkodeområde 0-2000 er reservert for LibreOffice Basic. Brukerdefinerte feil kan starte fra høyere verdier for å forhindre kollisjon med LibreOffice Basic fremtidig utvikling.

Kilde: Navnet på rutinen som gir feilen. Et navn i form av "myLibrary.myModule.myProc" anbefales.

Beskrivelse: En beskrivelse av problemet som førte til å stoppe den kjørende prosessen, sammen med de ulike årsakene som kan forårsake det. Det anbefales en detaljert liste over mulige handlingsforløp som kan bidra til å løse problemet.

### 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, Beskrivelse:="Dette er en tiltenkt brukerdefinert feil ..."
                 Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
                 Exit Sub
             AlertAndExecNext:
                 errTitle = "Feil "& Err &" på raden "& Erl &" i "& Err.Source
                 MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
                 Resume Next
             End Sub

## Exception ClassModule

A short ClassModule, that wraps VBA Err object, can distribute Err properties and methods for standard LibreOffice 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

## 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 flerlinjebeskrivelse for dette brukerdefinerte unntaket")
                 ' din kode finner sted her …
             finally:
                 Exit Sub
             catch:
                 errTitle = "Feil "& Exc.Number &" på linjen "& Erl &" i "& Exc.Source
                 MsgBox Exc.Description, MB_ICONSTOP, errTitle
                 Resume finally
             End Sub

The Error statement or an Exception-like class module can be used interchangeably, while the latter adds extra features.

Lignende emner

Error-Handling Functions

Option ClassModule Statement

Option VBASupport Statement

ScriptForge.Unntak-tjeneste