Guide pratique pour créer des exceptions définies par l’utilisateurHow to create user-defined exceptions

.NET fournit une hiérarchie de classes d’exception dérivées de la classe de base Exception..NET provides a hierarchy of exception classes ultimately derived from the base class Exception. Toutefois, si aucune exception prédéfinie ne répond à vos besoins, vous pouvez créer vos propres classes d’exception en les dérivant de la classe Exception.However, if none of the predefined exceptions meets your needs, you can create your own exception classes by deriving from the Exception class.

Quand vous créez vos propres exceptions, terminez le nom de la classe définie par l’utilisateur par le mot « Exception » et implémentez les trois constructeurs communs, comme indiqué dans l’exemple suivant.When creating your own exceptions, end the class name of the user-defined exception with the word "Exception", and implement the three common constructors, as shown in the following example. L’exemple définit une nouvelle classe d’exception nommée EmployeeListNotFoundException.The example defines a new exception class named EmployeeListNotFoundException. La classe est dérivée de l’exception Exception et inclut trois constructeurs.The class is derived from Exception and includes three constructors.

using namespace System;

public ref class EmployeeListNotFoundException : Exception
{
public:
    EmployeeListNotFoundException()
    {
    }

    EmployeeListNotFoundException(String^ message)
        : Exception(message)
    {
    }

    EmployeeListNotFoundException(String^ message, Exception^ inner)
        : Exception(message, inner)
    {
    }
};
using System;

public class EmployeeListNotFoundException : Exception
{
    public EmployeeListNotFoundException()
    {
    }

    public EmployeeListNotFoundException(string message)
        : base(message)
    {
    }

    public EmployeeListNotFoundException(string message, Exception inner)
        : base(message, inner)
    {
    }
}
Public Class EmployeeListNotFoundException
    Inherits Exception

    Public Sub New()
    End Sub

    Public Sub New(message As String)
        MyBase.New(message)
    End Sub

    Public Sub New(message As String, inner As Exception)
        MyBase.New(message, inner)
    End Sub
End Class

Notes

Dans les situations où vous utilisez la communication à distance, vous devez vérifier que les métadonnées des exceptions définies par l’utilisateur sont disponibles sur le serveur (appelé) et le client (objet proxy ou appelant).In situations where you are using remoting, you must ensure that the metadata for any user-defined exceptions is available at the server (callee) and to the client (the proxy object or caller). Pour plus d’informations, consultez les Bonnes pratiques pour les exceptions.For more information, see Best practices for exceptions.

Voir aussiSee also