Gewusst wie: Erstellen benutzerdefinierter Ausnahmen
Aktualisiert: November 2007
Wenn Benutzer in der Lage sein sollen, programmgesteuert zwischen mehreren Fehlerzuständen zu unterscheiden, können Sie Ihre eigenen benutzerdefinierten Ausnahmen erstellen. .NET Framework stellt eine Hierarchie von Ausnahmeklassen bereit, die letztlich alle von der Basisklasse Exception abgeleitet werden. Jede dieser Klassen definiert eine spezifische Ausnahme, sodass Sie in vielen Fällen nur noch die jeweilige Ausnahme abfangen müssen. Sie können auch Ihre eigenen Ausnahmeklassen durch Ableitung von der Exception-Klasse erstellen.
Beim Erstellen eigener Ausnahmen ist es sinnvoll, deren Klassennamen auf das Wort "Exception" enden zu lassen. Außerdem ist es ratsam, die im folgenden Beispiel gezeigten drei empfohlenen allgemeinen Konstruktoren zu implementieren.
Hinweis: |
---|
Wenn Sie Remoting verwenden, müssen Sie sicherstellen, dass die Metadaten für alle benutzerdefinierten Ausnahmen auf dem Server (der aufgerufen wird) und für den Client (Proxyobjekt oder Aufrufer) verfügbar sind. Zum Beispiel muss Code, durch den eine Methode in einer anderen Anwendungsdomäne aufgerufen wird, die Assembly finden können, in der die durch einen Remoteaufruf ausgelöste Ausnahme enthalten ist. Weitere Informationen finden Sie unter Empfohlene Vorgehensweise für die Ausnahmebehandlung. |
Im folgenden Beispiel wird die neue Ausnahmeklasse EmployeeListNotFoundException von der Exception abgeleitet. In der Klasse werden drei Konstruktoren definiert, jeder mit anderen Parametern.
Beispiel
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)
{
}
}
Siehe auch
Aufgaben
Gewusst wie: Verwenden des Try-Catch-Blocks zum Abfangen von Ausnahmen
Gewusst wie: Verwenden spezifischer Ausnahmen in einem Catch-Block
Konzepte
Empfohlene Vorgehensweise für die Ausnahmebehandlung