Überprüfte Ausnahme gegen Laufzeitausnahme
Ausnahmen sind eine spezielle Art von Ereignissen, die den normalen Programmfluss stören können. Die Namensausnahme stammt aus "außergewöhnlichem Ereignis". Eine Ausnahme zu werfen ist der Prozess des Erstellens eines Ausnahmebobjekts und der Übergabe an das Laufzeitsystem. Wenn das Laufzeitsystem das Ausnahmeobjekt empfängt, wird versucht, jemanden zu finden, der es im Anrufstapel bearbeitet, indem sie es in umgekehrter Reihenfolge durchquert (in dem die Methoden aufgerufen wurden). Das Laufzeitsystem ist erfolgreich, wenn es eine Methode mit einem Ausnahmebehandler findet. Ausnahmebehandler ist ein Codeblock, der die genannte Ausnahme offiziell behandeln kann. Wenn das Laufzeitsystem einen geeigneten Handler findet, übergibt es das Ausnahmeobjekt an den Handler. Dies nennt man die Ausnahme,. Wenn die Ausnahme jedoch nicht behandelt werden kann, wird das Programm beendet. In Java erben Ausnahmen von der Throwable -Klasse. Überprüfte Ausnahmen sind Ausnahmen, für die der Compiler die Handhabung durchgesetzt wird. Laufzeitausnahmen sind eine Art von Ausnahmen, die vom Compiler nicht überprüft werden.
Was ist eine geprüfte Ausnahme?
Überprüfte Ausnahmen sind entweder Objekte der Klasse Java.Lang.Ausnahme oder ihre Unterklassen (außer der Java.Lang.RunTimeException und seine Unterklassen). Überprüfte Ausnahmen werden zur Kompilierungszeit „überprüft“. Das bedeutet, dass der Programmierer diese Ausnahmen entweder fangen oder werfen muss, sonst würde sich das Kompilieren beschweren (was einen Compiler -Fehler verursacht). Aus diesem Grund sind viele überprüfte Ausnahmen den Programmierern sehr bekannt. Zum Beispiel werden die IOException und ihre Unterklassen überprüft, und wenn der Programmierer mit dem Zugriff oder Ändern einer Datei zu tun hat, prüft Compiler, um sicherzustellen.
Was ist eine Laufzeitausnahme??
Laufzeitausnahmen bestehen aus Java.Lang.RunTimeException und alle Subklassen. Theoretisch erfüllen sie den gleichen Zweck wie überprüfte Ausnahmen und können wie überprüfte Ausnahme ausgeworfen oder behandelt werden, aber die Handhabung wird vom Compiler nicht durchgesetzt. Daher gehören die Laufzeitausnahmen zur Familie der ungeprüften Ausnahmen. NullPointerexception, numberFormatecception, ClassCastException und ArrayIndexoutOfBoundSexception sind gemeinsame Laufzeitausnahmen in Java.
Was ist der Unterschied zwischen überprüfter Ausnahme und der Laufzeitausnahme?
Obwohl sowohl überprüfte Ausnahmen als auch Laufzeitausnahmen während der Ausführung eines Programms unerwünschtes Auftreten sind, haben sie ihre Unterschiede. Überprüfte Ausnahmebehandlung wird vom Compiler durchgesetzt, die Laufzeitausnahmen sind jedoch nicht. Daher müssen überprüfte Ausnahmen geworfen oder behandelt werden, damit der Code kompiliert werden kann. Es gibt jedoch keine solche Anforderungen hinsichtlich der Laufzeitausnahmen. Infolgedessen gehören die Laufzeitausnahmen zusammen mit Fehlern zur Kategorie der nicht überprüften Ausnahmen.
Nachteil bei überprüften Ausnahmen ist, dass der Programmierer damit umgehen muss, auch wenn sie nicht weiß, wie es geht. Wenn der Programmierer also nur eine neue Ausnahme auswirft, ohne das Original zu wickeln, geht die Stapelspur zur ursprünglichen Ausnahme verloren gehen. Hier sind die Laufzeitausnahmen nützlich. Da alle Laufzeitausnahmen an einem einzigen Ort behandelt werden können, können Programmierer weniger Code schreiben. Auf der anderen Seite müssen überprüfte Ausnahmen gefangen werden, es ist keine Überraschung für den Programmierer. Sie wird immer wissen, welche geprüfte Ausnahme mit einer bestimmten Methode ausgelöst werden könnte. Im Gegensatz dazu können verschiedene Laufzeitausnahmen ohne Wissen des Programmierers geworfen werden.