Dieses Throw-Schlüsselwort wird häufig im Konzept der Ausnahmebehandlung verwendet. Wie der Name schon sagt, geht es beim Schlüsselwort throw darum, eine Ausnahme vom Programm an den Compiler auszulösen. Die Meldung einer Ausnahme ist eine Art Fehler, den ein Compiler aus dem Programm ausblendet, falls während der Laufzeit des Codes eine Diskrepanz auftritt. Mit diesem Schlüsselwort throw können wir unsere Ausnahme definieren, indem wir jede Fehlerursache während der Laufzeit des Programms interpretieren.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Weitere Einzelheiten dazu finden Sie weiter unten:
Syntax
Die Syntax von throw in Java ist wie folgt:
throw exception_type ;
oder
throw instance;
Hier können wir anhand eines Beispiels überprüfen, wie das Schlüsselwort verwendet wird, und verstehen, wie der Ablauf funktioniert.
import java.util.Scanner; public class Main { public static void main(String[] args) { int c; Scanner sc = new Scanner(System.in); System.out.println("Enter value of A: "); int a = sc.nextInt(); //Scanner b = new Scanner(System.in); System.out.println("Enter value of B: "); int b = sc.nextInt(); try { c= a/b; if(b==0) { throw new ArithmeticException(); } System.out.println("Value of C is: " +c); } catch(ArithmeticException e) { System.out.println("Caught this here"); } finally { } System.out.println("Finally block is here"); } }
Befassen wir uns damit anhand eines klassischen und einfachen Beispiels der Division durch Null.
Analyse des folgenden Codes:
Sehen wir uns die Ausgabe unten an.
Ausgabe 1: Wenn der b-Wert keine Null ist.
Das Fehlen ausgeführter Try-, Throw- und Catch-Blöcke ist aufgrund des „B“-Werts ungleich Null erkennbar. Am Ende wird der Block unabhängig von der Ausnahmeerstellung ausgeführt.
Ausgabe 2: Wenn der b-Wert Null ist.
Der hervorgehobene Teil stellt sicher, dass die Ausnahme erfolgreich ausgelöst und vom Catch-Block abgefangen wird.
Sehen wir uns also unten ein Beispiel an.
Beispiel:
Lassen Sie uns sehen, wie wir mehrere Ausnahmen in einem einzigen Programm auslösen können.
public class Main { public static void main(String[] args) { String sun[] = {"chocolate", "honey", "sugar", "sweet", "bitter"}; String h = null; try { for (int i=0; i<=7; i++) { if(i > sun.length) { throw new ArrayIndexOutOfBoundsException(); } System.out.println(sun[i]); } } catch(ArrayIndexOutOfBoundsException ae) { System.out.println("Inside array index out of bounds exception catch block"); } try{ sun[0]=h; if (sun[0] == null) { throw new NullPointerException(); } System.out.println("Value of sun[0] is: " +sun[0]); } catch(NullPointerException f) { System.out.println("Caught Null point exception"); } finally { System.out.println("executing finally"); } } }
Oben haben wir zwei verschiedene Arten von Ausnahmen und Throw-Schlüsselwörtern verwendet, um das Programm zu interpretieren. Array-Index außerhalb der Grenzen und Nullzeiger-Ausnahme ist das, was wir hier in einem einzelnen Programm verwendet haben.
Ausgabe:
Dieses Throw-Schlüsselwort würde uns helfen, als Brücke zwischen Try- und Catch-Blöcken zu fungieren. Dies hilft dabei, die Kontrolle des Programms vom Try-Block auf den Catch-Block zu übertragen.
Lassen Sie mich Ihnen ein Beispiel zeigen, wie ein Programm mit und ohne Verwendung des Schlüsselworts throw funktioniert.
public class Main { public static void main(String[] args) { try { int a = Integer.parseInt ("Happy") ; System.out.println("Will this get printed?"); } catch(NumberFormatException e) { System.out.println("Number format exception of catch block"); } System.out.println("Priting after catch block"); } }
Wir haben Code ohne das Schlüsselwort throw geschrieben. Aber wir haben den Code verwendet, um zu versuchen, den Block abzufangen, der die Ausnahme behandeln wird. Kennen Sie also die Ausgabe oben?
Erwartet, oder? Also führte es den Code aus, fand eine Ausnahme und die Ausnahme wurde abgefangen.
Wie funktioniert nun der Code, wenn wir unsere Throw-Anweisung einfügen? Sehen wir uns unten an.
public class Main { public static void main(String[] args) { try { int a = Integer.parseInt ("Happy") ; throw new NumberFormatException(); System.out.println("Will this get printed?"); } catch(NumberFormatException e) { System.out.println("Number format exception of catch block"); } System.out.println("Priting after catch block"); } }
Nur der hervorgehobene Teil ist der Wechsel zwischen den beiden oben genannten Codes.
Ausgabe:
Ja, wir haben einen Kompilierungsfehler, da die print-Anweisung nach dem Schlüsselwort throw nicht erreichbar ist. Wir hoffen, dass Sie anhand dieses Beispiels genau verstehen, was „Übertragen der Kontrolle vom Try-to-Catch-Block“ bedeutet.
Versuchen Sie als Übung, die print-Anweisung nach dem Schlüsselwort „throw the“ zu entfernen, und prüfen Sie, wie das Programm reagiert.
So kam also der Wurfbefehl zum Zeitpunkt der Ausnahmebehandlung ins Spiel. Ich bemerke einen deutlichen Unterschied zwischen den Schlüsselwörtern THROW und THROWS. Beide werden mit dem Konzept der Ausnahmen verwendet. Wir kennen das Konzept bereits und wissen, wie und wo wir das Schlüsselwort „THROW“ verwenden können. Üben Sie einfach und probieren Sie es auf verschiedene Arten aus. Lerne weiter.
Das obige ist der detaillierte Inhalt vonSchlüsselwort werfen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!