Aide Collabora Office 24.04
Utilisez l'objet Err VBA pour déclencher ou gérer les erreurs d'exécution.
Err est un objet global VBA intégré qui permet :
générer des erreurs Basic prédéfinies
pour lever des exceptions définies par l'utilisateur
pour nommer la routine à l'origine de l'erreur
pour décrire l'erreur et les solutions possibles
L'objet VBA Err a les propriétés et méthodes suivantes :
Err.Description As String
La propriété Description donne la nature de l'erreur. Description détaille les différentes raisons pouvant provoquer l'erreur. Idéalement, elle fournit les multiples actions visant à résoudre le problème et empêcher sa réapparition. Son alias Basic est la fonction Error pour les erreurs prédéfinies de Collabora Office.
Err.Number As Long
C'est le code d'erreur associé à l'erreur. La propriété par défaut de l'objet Err est Number. L'alias Collabora Office Basic est la fonction Err.
Err.Source As String
Source indique le nom de la routine qui produit cette erreur. Source est une option pour les erreurs définies par l'utilisateur.
Err.Clear()
Réinitialise la descriptions, les propriétés Erl, de nombre et de la source de l'erreur active. L'alias Collabora Office Basic est l'instruction Resume.
Err.Raise(Number As Long, Optional source As String, Optional description As String)
Lance des erreurs définies par l'utilisateur ou des erreurs prédéfinies. L'alias Collabora Office Basic est l'instruction Error.
Number: un code d'erreur pré-défini ou défini par l'utilisateur à élever.
La plage de codes d'erreur 0-2000 est réservée à Collabora Office Basic. Les erreurs définies par l'utilisateur peuvent commencer à partir de valeurs plus élevées afin d'éviter une collision avec les développements futurs de Collabora Office Basic.
Source: le nom de la routine provoquant l'erreur. Un nom sous la forme de "myLibrary.myModule.myProc" est recommandé.
Description: une description du problème entraînant l'arrêt du processus en cours, accompagnée des différentes raisons qui peuvent le provoquer. Une liste détaillée des actions possibles pouvant aider à résoudre le problème est recommandée.
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
Un courtClassModule, qui encapsule l'objet VBA Err, peut distribuer les propriétés et méthodes Err des modules Collabora Office Basic standards.
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", _
"Toute description sur plusieurs lignes pour cette exception définie par l'utilisateur")
' votre code ici…
finally:
Exit Sub
catch:
errTitle = "Error "& Exc.Number &" at line "& Erl &" in "& Exc.Source
MsgBox Exc.Description, MB_ICONSTOP, errTitle
Resume finally
End Sub
L'instruction Error ou un module de classe de type Exception peut être utilisé de manière interchangeable, tandis que ce dernier ajoute des fonctionnalités supplémentaires.