Ajuda del Collabora Office 24.04
Use VBA Err object to raise or handle runtime errors.
Err és un objecte global integrat del VBA que permet:
to raise predefined Basic errors
to throw user-defined exceptions
donar nom a la rutina que origina l'error
descriure l'error i les possibles solucions
The VBA Err object has the following properties and methods:
Err.Description As String
La propietat Descripció dóna la naturalesa de l'error. Descripció detalla les diverses raons que poden ser la causa de l'error. Idealment proporciona el curs múltiple d'accions per ajudar a resoldre el problema i evitar la seva reaparició. L'àlies bàsic és la funció Error per a errors predefinits de %{PRODUCTNAME}.
Err.Number As Long
The error code associated with the error. Err object default property is Number. The Collabora Office Basic alias is the Err function.
Err.Source As String
Source indicates the name of the routine that produces the error. Source is an option for user-defined errors.
Err.Clear()
Resets description, Erl, number and source properties of current error. The Collabora Office 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 Collabora Office Basic alias is the Error statement.
Nombre Un codi d'error definit per l'usuari o predefinit a pujar.
Error l'interval de codi 0-2000 està reservat per a un percentatge de Collabora Office Basic. Els errors definits per l'usuari poden començar des de valors més alts per tal d'evitar la col·lisió amb el desenvolupament futur del Collabora Office Basic.
Source El nom de la rutina que aixeca l'error. Es recomana un nom en forma de «myLibrary.myModule.myProc».
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.
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
A short ClassModule, that wraps VBA Err object, can distribute Err properties and methods for standard 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", _
"Any multi-line description for this user-defined exception")
' el vostre codi va aquí…
finally:
Exit Sub
catch:
errTitle = "Error "& Exc.Number &" at line "& Erl &" in "& 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.