English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hier werden Sie die eingebauten Ausnahmeklassen in C# kennenlernen.
C#.NET bietet für jeden möglichen Fehler einschließlich eingebauter Ausnahmeklassen. Die Exception-Klasse ist die Basisklasse aller Ausnahmeklassen.
Hier ist die Hierarchie der Ausnahmeklassen in .NET:
Im obigen Diagramm ist die Exception-Klasse die Basisklasse der SystemException- und ApplicationException-Klassen. Die SystemException-Klasse ist die Basisklasse für alle Ausnahmen, die während der Ausführung des Programms auftreten können. Diese ApplicationException-Klasse sollte abgeleitet werden, um eigene benutzerdefinierte Ausnahmeklassen zu erstellen. Es können benutzerdefinierte Klassen für Verletzungen von Geschäftsregeln oder anderen mit der Anwendung verbundenen Fehlern erstellt werden.
Das Diagramm zeigt, wie eine NullReferenceException in der Debug-Modus von Visual Studio ausgelöst wird, wenn auf ein null Referenzobjekt zugegriffen wird.
Die folgende Tabelle listet die wichtigen eingebauten Ausnahmeklassen in .NET auf.
Art der Ausnahme | Beschreibung |
---|---|
ArgumentException | Wird ausgelöst, wenn ein nicht-null-Parameter, der an eine Methode übergeben wird, ungültig ist. |
ArgumentNullException | Wird ausgelöst, wenn ein null-Parameter an eine Methode übergeben wird. |
ArgumentOutOfRangeException | Wird ausgelöst, wenn der Wert des Arguments den gültigen Wertebereich übersteigt. |
DivideByZeroException | Wird ausgelöst, wenn ein ganzzahliger Wert durch Null geteilt wird. |
FileNotFoundException | Wird ausgelöst, wenn keine physische Datei an der angegebenen Position existiert. |
FormatException | Wird ausgelöst, wenn das Format des Wertes nicht geeignet ist, um durch einen Konvertierungsmethode (wie Parse) von einer Zeichenfolge in eine andere umzuwandeln. |
IndexOutOfRangeException | Wird ausgelöst, wenn der Arrayindex über den unteren oder oberen Begrenzungswert des Arrays oder der Sammlung hinausgeht. |
InvalidOperationException | Wird ausgelöst, wenn eine Methodenaufruf im aktuellen Zustand des Objekts ungültig ist. |
KeyNotFoundException | Wird ausgelöst, wenn keine spezifische Schlüssel existiert, um auf die Mitglieder der Sammlung zuzugreifen. |
NotSupportedException | Wird ausgelöst, wenn eine Methode oder ein Verfahren nicht unterstützt wird. |
NullReferenceException | Wird ausgelöst, wenn das Programm auf ein leeres Objektmitglied zugreift. |
OverflowException | Wird ausgelöst, wenn eine Arithmetik, eine explizite Konvertierung oder eine Umwandlung durch eine Überlaufbedingung verursacht. |
OutOfMemoryException | Wird ausgelöst, wenn das Programm nicht genügend Speicher hat, um den Code auszuführen. |
StackOverflowException | Wird ausgelöst, wenn der Stapel im Speicher überläuft. |
TimeoutException | Die für die Operation zugewiesene Zeitspanne ist abgelaufen. |
Wenn ein Fehler auftritt, wird der Anwendungscode oder der Standardbehandlungsmechanismus die Ausnahme behandeln. Erfahren Sie im nächsten Abschnitt, wie Ausnahmen behandelt werden.