In Java, Ausnahme ist ein unerwünschtes oder unerwartetes Ereignis, das während der Ausführung eines Programms, d. h. zur Laufzeit, auftritt und den normalen Ablauf der Programmanweisungen stört.
In Java gibt es zwei Arten von Ausnahmen:
- Überprüfte Ausnahmen
- Ungeprüfte Ausnahmen

Geprüfte Ausnahmen in Java
Diese sind die Ausnahmen, die zur Kompilierzeit überprüft werden. Wenn ein Code innerhalb einer Methode eine geprüfte Ausnahme auslöst, muss die Methode entweder die Ausnahme behandeln oder die Ausnahme mithilfe von angeben wirft Stichwort . Bei geprüften Ausnahmen gibt es zwei Arten: vollständig geprüfte und teilweise geprüfte Ausnahmen. Eine vollständig geprüfte Ausnahme ist eine geprüfte Ausnahme, bei der alle ihre untergeordneten Klassen ebenfalls geprüft werden, wie z. B. IOException und InterruptedException. Eine teilweise geprüfte Ausnahme ist eine geprüfte Ausnahme, bei der einige ihrer untergeordneten Klassen nicht geprüft sind, wie eine Ausnahme.
Betrachten Sie beispielsweise das folgende Java-Programm, das die Datei am Speicherort C: esta.txt öffnet und die ersten drei Zeilen davon ausgibt. Das Programm wird nicht kompiliert, da die Funktion main() FileReader() verwendet und FileReader() eine geprüfte Ausnahme auslöst FileNotFoundException . Es verwendet auch die Methoden readLine() und close(), und diese Methoden lösen auch eine geprüfte Ausnahme aus IOException
Beispiel:
Java
interne Funktionsweise von Hashmap
// Java Program to Illustrate Checked Exceptions> // Where FileNotFoundException occurred> // Importing I/O classes> import> java.io.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Reading file from path in local directory> >FileReader file =>new> FileReader(>'C: esta.txt'>);> >// Creating object as one of ways of taking input> >BufferedReader fileInput =>new> BufferedReader(file);> >// Printing first 3 lines of file 'C: esta.txt'> >for> (>int> counter =>0>; counter <>3>; counter++)> >System.out.println(fileInput.readLine());> >// Closing file connections> >// using close() method> >fileInput.close();> >}> }> |
>
Schlaf in Javascript
>
Ausgabe:

Um das obige Programm zu reparieren, müssen wir entweder eine Liste von Ausnahmen mithilfe von Throws angeben oder einen Try-Catch-Block verwenden. Im folgenden Programm haben wir Würfe verwendet. Seit FileNotFoundException ist eine Unterklasse von IOException , können wir einfach spezifizieren IOException in der Throws-Liste und machen Sie das obige Programm kompilerfehlerfrei.
Beispiel:
Java
// Java Program to Illustrate Checked Exceptions> // Where FileNotFoundException does not occur> // Importing I/O classes> import> java.io.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >throws> IOException> >{> >// Creating a file and reading from local repository> >FileReader file =>new> FileReader(>'C: esta.txt'>);> >// Reading content inside a file> >BufferedReader fileInput =>new> BufferedReader(file);> >// Printing first 3 lines of file 'C: esta.txt'> >for> (>int> counter =>0>; counter <>3>; counter++)> >System.out.println(fileInput.readLine());> >// Closing all file connections> >// using close() method> >// Good practice to avoid any memory leakage> >fileInput.close();> >}> }> |
>
Entität relational
>
Kali Linux-Terminal
Ausgabe:
First three lines of file 'C: esta.txt'>
Ungeprüfte Ausnahmen in Java
Dies sind die Ausnahmen, die zur Kompilierungszeit nicht überprüft werden. In C++ sind alle Ausnahmen deaktiviert, sodass der Compiler ihn nicht dazu zwingt, die Ausnahme zu behandeln oder anzugeben. Es liegt an den Programmierern, zivilisiert zu sein und die Ausnahmen zu spezifizieren oder abzufangen. In Java gelten Ausnahmen unter Fehler Und RuntimeException Klassen sind ungeprüfte Ausnahmen, alles andere unter Throwable wird geprüft.
Betrachten Sie das folgende Java-Programm. Es lässt sich gut kompilieren, aber es wirft ArithmeticException beim Laufen. Der Compiler ermöglicht das Kompilieren, weil ArithmeticException ist eine ungeprüfte Ausnahme.
Beispiel:
Java
// Java Program to Illustrate Un-checked Exceptions> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Here we are dividing by 0> >// which will not be caught at compile time> >// as there is no mistake but caught at runtime> >// because it is mathematically incorrect> >int> x =>0>;> >int> y =>10>;> >int> z = y / x;> >}> }> |
>
>
Unterschied zwischen Abendessen und Abendessen
Ausgabe
Exception in thread 'main' java.lang.ArithmeticException: / by zero at Main.main(Main.java:5) Java Result: 1>
Kurz gesagt handelt es sich bei ungeprüften Ausnahmen um Laufzeitausnahmen, die nicht abgefangen oder in einer throws-Klausel deklariert werden müssen. Diese Ausnahmen werden normalerweise durch Programmierfehler verursacht, z. B. durch den Versuch, auf einen Index außerhalb der Grenzen eines Arrays zuzugreifen oder durch Null zu dividieren.
Zu den ungeprüften Ausnahmen zählen alle Unterklassen der RuntimeException-Klasse sowie die Error-Klasse und ihre Unterklassen.
Hier sind einige Beispiele für ungeprüfte Ausnahmen in Java:
1. ArrayIndexOutOfBoundsException: Diese Ausnahme wird ausgelöst, wenn Sie versuchen, auf einen Array-Index zuzugreifen, der außerhalb der Grenzen liegt.
2. NullPointerException: Diese Ausnahme wird ausgelöst, wenn Sie versuchen, auf eine Nullobjektreferenz zuzugreifen.
3. ArithmeticException: Diese Ausnahme wird ausgelöst, wenn Sie versuchen, durch Null zu dividieren oder eine ungültige arithmetische Operation auszuführen.