Erstellen benutzerdefinierter AusnahmenHow to create user-defined exceptions

.NET stellt eine Hierarchie aus Ausnahmeklassen bereit, die letztendlich von der Exception-Basisklasse abgeleitet werden..NET provides a hierarchy of exception classes ultimately derived from the base class Exception. Wenn keine der vordefinierten Ausnahmen Ihre Anforderungen erfüllt, können Sie durch Ableiten von der Exception-Klasse eigene Ausnahmeklassen erstellen.However, if none of the predefined exceptions meets your needs, you can create your own exception classes by deriving from the Exception class.

Beim Erstellen eigener Ausnahmen muss der Klassenname der benutzerdefinierten Ausnahme auf das Wort „Exception“ enden. Implementieren Sie außerdem die drei allgemeinen Konstruktoren, wie im folgenden Beispiel gezeigt.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. Das Beispiel definiert eine neue Ausnahmeklasse namens EmployeeListNotFoundException.The example defines a new exception class named EmployeeListNotFoundException. Die Klasse wird von Exception abgeleitet und enthält drei Konstruktoren.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

Hinweis

In Situationen, in denen Sie Remoting verwenden, müssen Sie sicherstellen, dass die Metadaten für alle benutzerdefinierten Ausnahmen sowohl auf dem Server (Aufgerufener) als auch für den Client (Proxyobjekt oder Aufrufer) verfügbar sind.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). Weitere Informationen finden Sie unter Bewährte Methoden für Ausnahmen.For more information, see Best practices for exceptions.

Siehe auchSee also