ErrObject.Raise(Int32, Object, Object, Object, Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Génère une erreur d'exécution ; peut être utilisé au lieu de l'instruction Error
.
public void Raise (int Number, object? Source = default, object? Description = default, object? HelpFile = default, object? HelpContext = default);
public void Raise (int Number, object Source = default, object Description = default, object HelpFile = default, object HelpContext = default);
member this.Raise : int * obj * obj * obj * obj -> unit
Public Sub Raise (Number As Integer, Optional Source As Object = Nothing, Optional Description As Object = Nothing, Optional HelpFile As Object = Nothing, Optional HelpContext As Object = Nothing)
Paramètres
- Number
- Int32
Obligatoire. Entier Long
qui identifie la nature de l'erreur. Les erreurs Visual Basic se situent dans la plage 0-65535 ; la plage 0-512 est réservée aux erreurs système ; la plage 513-65535 est disponible pour les erreurs définies par l’utilisateur. Lorsque vous définissez la propriété Number
à votre propre code d'erreur dans un module de classe, vous ajoutez votre numéro de code d'erreur à la constante vbObjectError
. Par exemple, pour générer le numéro d’erreur 513, affectez vbObjectError + 513
à la Number
propriété .
- Source
- Object
Optionnel. Expression String
nommant l'objet ou l'application qui a généré l'erreur. Lorsque vous définissez cette propriété pour un objet, utilisez le formulaire project
.class
. Si Source
n'est pas spécifié, l'ID de processus du projet Visual Basic actuel est utilisé.
- Description
- Object
Optionnel. Expression String
décrivant l'erreur. Si elle est non spécifiée, la valeur dans la propriété Number
est examinée. Si elle peut être mappée à un code d'erreur d'exécution Visual Basic, la chaîne qui serait retournée par la fonction Error
est utilisée comme propriété Description
. S'il n'y a aucune erreur Visual Basic correspondant à la propriété Number
, le message "Erreur définie par l'application ou par l'objet" est utilisé.
- HelpFile
- Object
Optionnel. Chemin qualifié complet au fichier d'aide dans lequel l'aide concernant cette erreur peut être recherchée. S'il n'est pas spécifié, Visual Basic utilise le lecteur, le chemin d'accès et le nom de fichier qualifiés complets du fichier d'aide Visual Basic.
- HelpContext
- Object
Optionnel. L'ID de contexte identifiant une rubrique dans HelpFile
qui fournit une aide pour l'erreur. S'il est omis, l'ID de contexte du fichier d'aide Visual Basic pour l'erreur correspondant à la propriété Number
est utilisé, s'il existe.
Exemples
Cet exemple utilise la méthode de Raise
l’objet Err
pour générer une erreur dans une fonction écrite en Visual Basic. La fonction appelante peut intercepter l’erreur et la signaler à l’utilisateur avec une boîte de message.
Module Module1
Const WidthErrorNumber As Integer = 1000
Const WidthHelpOffset As Object = 100
Sub Main()
CallingProcedure()
End Sub
Sub TestWidth(ByVal width As Integer)
If width > 1000 Then
' Replace HelpFile.hlp with the full path to an appropriate
' help file for the error. Notice that you add the error
' number you want to use to the vbObjectError constant.
' This assures that it will not conflict with a Visual
' Basic error.
Err.Raise(vbObjectError + WidthErrorNumber, "ConsoleApplication1.Module1.TestWidth",
"Width must be less than 1000.", "HelpFile.hlp", WidthHelpOffset)
End If
End Sub
Sub CallingProcedure()
Try
' The error is raised in TestWidth.
TestWidth(2000)
Catch ex As Exception
' The Err object can access a number of pieces of
' information about the error.
Console.WriteLine("Information available from Err object:")
Console.WriteLine(Err.Number)
Console.WriteLine(Err.Description)
Console.WriteLine(Err.Source)
Console.WriteLine(Err.HelpFile)
Console.WriteLine(Err.HelpContext)
Console.WriteLine(Err.GetException)
Console.WriteLine(vbCrLf & "Information available from Exception object:")
Console.WriteLine(ex.Message)
Console.WriteLine(ex.ToString)
Err.Clear()
End Try
End Sub
End Module
' The example produces the following output:
' Information available from Err object:
' -2147220504
' Width must be less than 1000.
' ConsoleApplication1.Module1.TestWidth
' HelpFile.hlp
' 100
' System.Exception: Width must be less than 1000.
' at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object
' Description, Object HelpFile, Object HelpContext)
' at ConsoleApplication1.Module1.TestWidth(Int32 width) in C:\Users\example\App
' Data\Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 17
' at ConsoleApplication1.Module1.CallingProcedure() in C:\Users\example\AppData
' \Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 25
'
' Information available from Exception object:
' Width must be less than 1000.
' System.Exception: Width must be less than 1000.
' at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object
' Description, Object HelpFile, Object HelpContext)
' at ConsoleApplication1.Module1.TestWidth(Int32 width) in C:\Users\example\App
' Data\Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 17
' at ConsoleApplication1.Module1.CallingProcedure() in C:\Users\example\AppData
' \Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 25
Remarques
Tous les arguments à l’exception Raise
Number
de sont facultatifs. Si vous omettez les arguments facultatifs et que les paramètres de propriété de l’objet Err
contiennent des valeurs qui n’ont pas été effacées, ces valeurs servent de valeurs pour votre erreur.
Étant donné que l’objet Err
fournit des informations plus riches que lorsque vous générez des erreurs avec l’instruction Error
, Raise
est utile pour générer des erreurs lors de l’écriture de modules de classe. Par exemple, avec la Raise
méthode , la source qui a généré l’erreur peut être spécifiée dans la Source
propriété , l’aide en ligne pour l’erreur peut être référencée, etc.