logo

Java löst ein Schlüsselwort aus

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:

    ungeprüfte Ausnahme:unter unserer Kontrolle, damit wir unseren Code korrigieren können.Fehler:Jenseits unseres Einflusses. Beispielsweise können wir nichts unternehmen, wenn ein VirtualMachineError oder StackOverflowError auftritt.

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:Wir haben die Ausnahme abgefangen, d. h. wir haben die Ausnahme mithilfe des Try/Catch-Blocks behandelt.Fall 2:Wir haben die Ausnahme deklariert, d. h. das Schlüsselwort throws mit der Methode angegeben.

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:

Java-Throw-Schlüsselwort

Unterschied zwischen Wurf und Würfen

Klicken Sie auf mich für Details

Que) Können wir eine Ausnahme erneut auslösen?

Ja, indem Sie dieselbe Ausnahme im Catch-Block auslösen.