Inhaltsverzeichnis:
Definition - Was bedeutet Ausnahmebehandlung?
Die Ausnahmebehandlung ist ein Mechanismus, bei dem ein Programmierkonstrukt verwendet wird, um den während der Anwendungsausführung aufgetretenen Fehler konsistent abzufangen, abzufangen und zu behandeln. Die Common Language Runtime (CLR) von .NET Framework verwendet ein Ausnahmebehandlungsmodell, das auf Ausnahmeobjekten und geschützten Codeblöcken basiert.
Die in CLR implementierten Ausnahmebehandlungsmechanismen weisen die folgenden Merkmale auf:
a) Jede Sprache kann eine eigene Spezifikation für die Behandlung von Ausnahmen ohne Einschränkungen haben
b) Ausnahmen werden unabhängig von der verwendeten Sprache und der Art des Codes (verwaltet oder nicht verwaltet) generiert und behandelt.
c) Ausnahmen können über Prozess- oder Maschinengrenzen hinweg ausgelöst werden
Techopedia erklärt die Ausnahmebehandlung
Die .NET-Laufzeit löst Ausnahmen als von der System.Exception-Klasse abgeleitete Objekte aus, die Fehlerdetails enthalten, einschließlich der Meldung und Codezeile, in der der Fehler aufgetreten ist usw. Das Konstrukt "try..catch..finally" wird für die Ausnahmebehandlung verwendet. Während die Blöcke "try" (wo Ausnahmen erwartet werden) und "catch" (wo Ausnahmen behandelt werden) obligatorisch sind, ist der Block "finally" (wo Code auf jeden Fall ausgeführt wird) optional.
Im Vergleich zur Fehlerbehandlung mit herkömmlichen Methoden wie der Verwendung von Rückkehrcode wie in COM- (Component Object Model) und "go to" -Anweisungen wie in Visual Basic usw. bestehen die Hauptvorteile von Ausnahmen in .NET darin, dass alle abgefangen werden Fehler, Eliminierung des Prozesses zur Überprüfung des Rückgabewerts und dessen Verwendung (falls ungültig) in Anwendungen, Verwendung in Szenarien, in denen es keinen Rückgabewert gibt, wie Konstruktoren, erhöhte Zuverlässigkeit und bessere Leistung.
Java bietet zwar "geprüfte" Ausnahmen, mit denen das Auftreten nicht behandelter Ausnahmen während der Kompilierung verhindert werden kann, sie können jedoch nicht für Fehler verwendet werden, bei denen es sich um nicht behebbare Fehler handelt. Die Ausnahmebehandlung in C ++ unterscheidet sich von der in .NET dadurch, dass der "finally" -Block zum Bereinigen von Ressourcen fehlt und der Ausnahmetyp nicht eingeschränkt ist.