Unterschied zwischen Ausnahme und Fehler

Unterschied zwischen Ausnahme und Fehler
Unterschied zwischen Ausnahme und Fehler

Video: Unterschied zwischen Ausnahme und Fehler

Video: Unterschied zwischen Ausnahme und Fehler
Video: Wir erklären euch das Intro! HOUSE OF THE DRAGON – 1.2 / Folgenbesprechung & Analyse 2024, Juli
Anonim

Ausnahme vs. Fehler

Unerwartetes Verh alten tritt zwangsläufig auf, wenn ein Programm ausgeführt wird. Dies kann auf Ausnahmen oder Fehler zurückzuführen sein. Ausnahmen sind Ereignisse, die den normalen Programmablauf stören können. Fehler sind Zustände, die als nicht behebbar angesehen werden können. Ausnahmen beziehen sich meistens auf die Anwendung selbst, während Fehler sich auf das System beziehen, auf dem das Programm ausgeführt wird.

Was ist eine Ausnahme?

Exception ist ein Ereignis, das den normalen Programmablauf stören kann. Der Name Ausnahme kommt von „außergewöhnliches Ereignis“. Das Auslösen einer Ausnahme ist der Vorgang, bei dem ein Ausnahmeobjekt erstellt und an das Laufzeitsystem übergeben wird. Das Ausnahmeobjekt wird von der Methode erstellt, in der die Ausnahme aufgetreten ist. Das Ausnahmeobjekt enthält nützliche Informationen wie den Typ und die Beschreibung der Ausnahme. Wenn das Laufzeitsystem das Ausnahmeobjekt empfängt, versucht es, jemanden zu finden, der es innerhalb des Aufrufstapels behandelt, indem es es in der umgekehrten Reihenfolge durchläuft (in der die Methoden aufgerufen wurden). Der Aufrufstapel ist die geordnete Liste von Methoden, die vor der Methode aufgerufen wurden, in der die Ausnahme aufgetreten ist. Das Laufzeitsystem ist erfolgreich, wenn es eine Methode mit einem Ausnahmebehandler findet. Der Ausnahmehandler ist ein Codeblock, der die besagte Ausnahme offiziell behandeln kann. Wenn das Laufzeitsystem einen geeigneten Behandler findet (d. h. Art der Ausnahme mit behandelbarem Typ übereinstimmt), übergibt es das Ausnahmeobjekt an den Behandler. Dies wird als Abfangen der Ausnahme bezeichnet. Wenn die Ausnahme jedoch nicht behandelt werden kann, wird das Programm beendet. In Java erben Ausnahmen von „Throwable class“. NullPointerException und ArrayIndexOutOfBoundsException sind zwei häufige Ausnahmen in Java.

Was ist ein Fehler?

Ein Fehler ist ein Zustand, der als nicht behebbar angesehen werden kann, wie z. B. wenn das Programm mehr Speicher benötigt als verfügbar ist. Diese Fehler können zur Laufzeit nicht behandelt werden. Wenn ein Fehler auftritt, wird das Programm beendet. In Java erben Fehler von der Throwable-Klasse. Fehler stehen normalerweise für schwerwiegende Probleme, die der Programmierer (oder die Anwendung) nicht versuchen sollte, abzufangen. Fehler sind einfach anormale Bedingungen, die unter normalen Umständen niemals erwartet und daher niemals vorhergesehen werden. OutOfMemoryError, StackOverflowError und ThreadDead sind beispielsweise solche Fehler. Methoden sollten niemals Handler für Fehler haben.

Was ist der Unterschied zwischen Ausnahme und Fehler?

Sowohl Fehler als auch Ausnahmen sind unerwünschte Erscheinungen während der Ausführung eines Programms. Sie weisen jedoch wesentliche Unterschiede auf. Ausnahmen können vom Programmierer vorhergesehen werden, während ein Fehler schwer vorhersehbar ist. Ausnahmen können aktiviert oder deaktiviert werden. Aber Fehler werden immer ungeprüft. Ausnahmen weisen normalerweise auf einen vom Programmierer verursachten Fehler hin. Fehler treten jedoch aufgrund eines Systemfehlers oder einer unangemessenen Verwendung einer Ressource auf. Daher sollten Ausnahmen auf Anwendungsebene behandelt werden, während Fehler auf Systemebene behandelt werden sollten (nur wenn möglich). Nach der Behandlung einer Ausnahme kehren Sie garantiert zum normalen Programmablauf zurück. Aber selbst wenn ein Fehler abgefangen wird, weiß der Programmierer vielleicht gar nicht, wie er damit umgehen soll. Im Gegensatz zur herkömmlichen Fehlerbehandlung ermöglichen Ausnahmen die Trennung von Fehlerbehandlungscode und regulärem Code.

Empfohlen: