Comment : créer des exceptions définies par l'utilisateur
Mise à jour : novembre 2007
Si vous voulez que les utilisateurs puissent établir une distinction par programme entre certains cas d'erreur, vous pouvez créer vos propres exceptions définies par l'utilisateur. Le .NET Framework fournit une hiérarchie de classes d'exceptions qui sont en fin de compte dérivées de la classe de base Exception. Chacune de ces classes définit une exception spécifique, ce qui fait que dans bien des cas vous n'avez qu'à intercepter l'exception. Vous pouvez également créer vos propres classes d'exceptions par une dérivation à partir de la classe Exception.
Lorsque vous créez vos propres exceptions, vous pouvez vous conformer aux bonnes pratiques de programmation en terminant le nom de classe de l'exception définie par l'utilisateur avec le mot « Exception ». Les bonnes pratiques de programmation incitent aussi à implémenter les trois constructeurs communs recommandés, comme le montre l'exemple suivant.
Remarque : |
---|
Dans les cas où vous utilisez les fonctionnalités distantes, vous devez vous assurer que les métadonnées pour d'éventuelles exceptions définies par l'utilisateur sont disponibles sur le serveur (l'appelé) et le client (l'objet proxy ou l'appelant). Par exemple, le code qui appelle une méthode dans un domaine d'application séparé doit pouvoir trouver l'assembly contenant une exception levée par un appel distant. Pour plus d'informations, consultez Meilleure pratiques pour la gestion des exceptions. |
Dans l'exemple suivant, une nouvelle classe d'exception, EmployeeListNotFoundException, est dérivée de Exception. Trois constructeurs sont définis dans la classe, chacun utilisant des paramètres différents.
Exemple
Imports System
Public Class EmployeeListNotFoundException
Inherits Exception
Public Sub New()
End Sub 'New
Public Sub New(message As String)
MyBase.New(message)
End Sub 'New
Public Sub New(message As String, inner As Exception)
MyBase.New(message, inner)
End Sub 'New
End Class 'EmployeeListNotFoundException
using System;
public class EmployeeListNotFoundException: Exception
{
public EmployeeListNotFoundException()
{
}
public EmployeeListNotFoundException(string message)
: base(message)
{
}
public EmployeeListNotFoundException(string message, Exception inner)
: base(message, inner)
{
}
}
Voir aussi
Tâches
Comment : utiliser le bloc try/catch pour intercepter des exceptions
Comment : utiliser des exceptions spécifiques dans un bloc catch
Concepts
Méthodes conseillées pour la gestion des exceptions