Unterschied zwischen geprüften und ungeprüften Ausnahmen

Die Ausnahmebehandlung in Java ist einer der leistungsfähigen Mechanismen, um bestimmte Fehler zu behandeln, die zur Laufzeit in einer Codesequenz auftreten. Eine Ausnahme ist nichts anderes als ein Laufzeitfehler, der den normalen Fluss der Anwendung unterbricht.

Normalerweise kommt es in einem Code vor, und wenn dies der Fall ist, wird ein Objekt erstellt, das diese Ausnahme darstellt, und geworfen in der Methode, die es verursacht hat. Infolgedessen wird das Programm oder die Anwendung unterbrochen, was dazu führt, dass die Anwendung abnormal beendet wird. Dies wird nicht empfohlen. Deshalb müssen diese Ausnahmen behandelt werden, und hier kommt der Mechanismus zur Behandlung von Ausnahmen zum Tragen.

In Java gibt es zwei Arten von Ausnahmen: Geprüfte und Ungeprüfte Ausnahmen. In diesem Artikel werden wir ausführlich beschreiben, welche Ausnahmen geprüft werden und wann sie verwendet werden, und schließlich werden wir den Unterschied zwischen den beiden erkennen.

Was ist eine geprüfte Ausnahme in Java??

Dies sind die Ausnahmen, die zur Kompilierzeit geprüft und behandelt werden. Java definiert mehrere Ausnahmeklassen innerhalb des Standardpakets java.lang, Die häufigsten Ausnahmen sind Unterklassen des Standardtyps RuntimeException.

Die Ausnahmen, die in Bereichen außerhalb der unmittelbaren Kontrolle des Programms auftreten, werden als geprüfte Ausnahmen bezeichnet. Wenn eine Methode wirft Eine geprüfte Ausnahme zur Kompilierzeit, die sie selbst nicht behandeln kann, muss die Ausnahme in a behandeln Fang blockieren oder erklären Sie die Ausnahme mit der wirft Schlüsselwort, andernfalls wird ein Kompilierungsfehler ausgegeben. Der Compiler untersucht jeweils den Typ des Ausnahmeobjekts werfen und wenn es markiert ist, überprüft der Compiler den Quellcode, um sicherzustellen, dass die Ausnahme in der Methode behandelt wird, in der sie ausgelöst wird oder deklariert ist, damit sie weiter verarbeitet werden kann.

Alle Ausnahmen beschrieben von Ausnahme welche sind ihre direkten Unterklassen mit Ausnahme von RuntimeException werden geprüfte Ausnahmen genannt. Jetzt, wann die geprüfte Ausnahme verwendet wird? Sie können eine aktivierte Ausnahme auswählen, wenn Sie genau wissen, was zu tun ist Ausnahme tritt auf oder wenn die Ausfallwahrscheinlichkeiten größer sind. Einige Beispiele für geprüfte Ausnahmen in der Java-Bibliothek umfassen IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException usw.

Was ist eine nicht geprüfte Ausnahme in Java??

Dies sind die Ausnahmen, die zur Kompilierzeit nicht geprüft werden. Ungeprüfte Ausnahme stellt eine Bedingung dar, die im Allgemeinen Fehler in der Programmlogik widerspiegelt und zur Laufzeit nicht wiederhergestellt werden kann.

Einfach ausgedrückt, ist eine ungeprüfte Ausnahme eine Ausnahme, die nicht in einer Ausnahme erfasst wird Try-Catch Block. Sie müssen nicht explizit gefangen werden. Tatsächlich behandelt Java die Ausnahme automatisch, wenn eine nicht geprüfte Ausnahme auftritt. Ungeprüfte Ausnahmen treten meistens aufgrund von Programmierfehlern auf, z. B. beim Zugriff auf ein Element außerhalb eines Array-Bondings oder auf die Methode eines Nullobjekts. In Java sind alle Ausnahmen unter throwable Ausnahmen geprüft, während Ausnahmen, die direkte Unterklassen von sind Error und RuntimeException sind ungeprüfte Ausnahmen.

Das Beste an einer ungeprüften Ausnahme ist, dass die Lesbarkeit des Codes nicht verringert wird, während der Clientcode sauber bleibt. Einige Beispiele für ungeprüfte Ausnahmen sind ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException usw..

Unterschied zwischen geprüften und nicht geprüften Ausnahmen

Definition der geprüften und nicht geprüften Ausnahme

Geprüfte und ungeprüfte Ausnahmen sind zwei Arten von Ausnahmen, die in Java vorhanden sind, um einen normalen Fluss der Anwendung sicherzustellen. Beide dienen demselben Zweck wie das Behandeln von Ausnahmen in Java, und obwohl es keinen Unterschied in der Funktionalität gibt, gibt es keine einzige Regel, die festlegt, wann geprüft und wann ungeprüfte Ausnahmen verwendet werden sollen. Checked Exception ist eine Ausnahme, die zur Kompilierzeit geprüft wird, während Unchecked Exception die Ausnahme ist, die zur Kompilierzeit nicht geprüft wird.

Grundlagen der geprüften und ungeprüften Ausnahme

Eine geprüfte Ausnahmebedingung bezieht sich auf die ungültigen Szenarien, die außerhalb der unmittelbaren Kontrolle des Programms auftreten, während sich bei einer nicht geprüften Ausnahmebedingung auf Fehler im Programm oder auf Fehler in der Programmlogik bezieht, die zur Laufzeit nicht wiederhergestellt werden können.

Ausnahmebehandlung

Wenn eine Methode eine geprüfte Ausnahme auslöst, prüft der Compiler, ob die Methode diese Ausnahme mit dem try-catch-Block verarbeitet, oder gibt die Ausnahme mit dem Schlüsselwort "throws" an. Wenn die Methode den Bearbeitungscode nicht bereitstellt, wird ein Kompilierungsfehler angezeigt. Im Gegenteil, das Programm kann problemlos kompiliert werden, da der Compiler zur Kompilierzeit nicht auf ungeprüfte Ausnahmen prüft.

Ursache der geprüften und ungeprüften Ausnahme

Ausnahmen, die nicht von RunTimeException abgeleitet sind, werden häufig behandelt, wohingegen Ausnahmen zur Laufzeit nur selten behandelt werden. Eine geprüfte Ausnahme tritt auf, wenn die Ausfallwahrscheinlichkeit zu hoch ist. Ungeprüfte Ausnahmen dagegen treten meistens aufgrund von Programmierfehlern auf. Alle Ausnahmen unter den Klassen RuntimeException und Error sind nicht geprüfte Ausnahmen, während alle anderen Auslöser, die unter auswerfbar sind, Ausnahmen sind.

Beispiele für geprüfte und ungeprüfte Ausnahmen

Beispiele für geprüfte Ausnahmen sind IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException und mehr. Beispiele für ungeprüfte Ausnahmen sind NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException usw..

Geprüfte vs. ungeprüfte Ausnahme: Vergleichstabelle

Zusammenfassung der geprüften und nicht geprüften Ausnahmen

Geprüfte und ungeprüfte Ausnahmen sind die zwei Arten von Ausnahmen, die in Java vorhanden sind. Die Funktionalität ist zwar für beide Ausnahmen gleich, sie hat jedoch einen angemessenen Anteil an Unterschieden. Der Hauptunterschied zwischen geprüften und ungeprüften Ausnahmen besteht darin, dass erstere vom Compiler geprüft wird, während letzteres der Benachrichtigung des Compilers entgeht. Ausnahmen, die zur Kompilierzeit geprüft und behandelt werden, sind geprüfte Ausnahmen, während Ausnahmen, die nicht zur Kompilierzeit geprüft und behandelt werden, nicht geprüfte Ausnahmen sind. In diesem Artikel wird erläutert, was geprüft wird und welche Ausnahme nicht aktiviert ist, wann sie verwendet werden, und der Unterschied zwischen den beiden.