Der Java löst ein Schlüsselwort aus wird verwendet, um eine Ausnahme zu deklarieren. Es informiert den Programmierer darüber, dass möglicherweise eine Ausnahme auftritt. Daher ist es für den Programmierer besser, den Ausnahmebehandlungscode bereitzustellen, damit der normale Programmablauf aufrechterhalten werden kann.
Die Ausnahmebehandlung wird hauptsächlich zur Behandlung der geprüften Ausnahmen verwendet. Wenn eine ungeprüfte Ausnahme wie NullPointerException auftritt, ist es die Schuld des Programmierers, dass er den Code nicht überprüft, bevor er verwendet wird.
Machen Sie ein SH-Skript ausführbar
Syntax von Java-Würfen
return_type method_name() throws exception_class_name{ //method code }
Welche Ausnahme soll deklariert werden?
Jahre: Nur geprüfte Ausnahme, weil:
Der Vorteil von Java ist das Schlüsselwort throws
Jetzt kann die geprüfte Ausnahme weitergegeben (im Aufrufstapel weitergeleitet) werden.
Es stellt dem Aufrufer der Methode Informationen über die Ausnahme bereit.
Java wirft Beispiel
Sehen wir uns das Beispiel der Java-Throws-Klausel an, die beschreibt, dass geprüfte Ausnahmen durch das Schlüsselwort throws weitergegeben werden können.
Testthrows1.java
import java.io.IOException; class Testthrows1{ void m()throws IOException{ throw new IOException('device error');//checked exception } void n()throws IOException{ m(); } void p(){ try{ n(); }catch(Exception e){System.out.println('exception handled');} } public static void main(String args[]){ Testthrows1 obj=new Testthrows1(); obj.p(); System.out.println('normal flow...'); } }Testen Sie es jetzt
Ausgabe:
exception handled normal flow...
Regel: Wenn wir eine Methode aufrufen, die eine Ausnahme deklariert, müssen wir die Ausnahme entweder abfangen oder deklarieren.
Es gibt zwei Fälle:
Fabrikdesignmuster
Fall 1: Ausnahme mit Try-Catch-Block behandeln
Falls wir die Ausnahme behandeln, wird der Code einwandfrei ausgeführt, unabhängig davon, ob während des Programms eine Ausnahme auftritt oder nicht.
Testthrows2.java
import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } public class Testthrows2{ public static void main(String args[]){ try{ M m=new M(); m.method(); }catch(Exception e){System.out.println('exception handled');} System.out.println('normal flow...'); } }Testen Sie es jetzt
Ausgabe:
exception handled normal flow...
Fall 2: Ausnahme deklarieren
- Falls wir die Ausnahme deklarieren und die Ausnahme nicht auftritt, wird der Code einwandfrei ausgeführt.
- Falls wir die Ausnahme deklarieren und die Ausnahme auftritt, wird sie zur Laufzeit ausgelöst, weil wirft behandelt die Ausnahme nicht.
Sehen wir uns Beispiele für beide Szenarien an.
A) Wenn die Ausnahme nicht auftritt
Testthrows3.java
import java.io.*; class M{ void method()throws IOException{ System.out.println('device operation performed'); } } class Testthrows3{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } }Testen Sie es jetzt
Ausgabe:
while und do while-Schleife in Java
device operation performed normal flow...
B) Wenn eine Ausnahme auftritt
Testthrows4.java
import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } class Testthrows4{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } }Testen Sie es jetzt
Ausgabe:
Unterschied zwischen Wurf und Würfen
Klicken Sie auf mich für DetailsQue) Können wir eine Ausnahme erneut auslösen?
Ja, indem Sie dieselbe Ausnahme im Catch-Block auslösen.