throw und throws ist das Konzept der Ausnahmebehandlung, bei dem das throw-Schlüsselwort die Ausnahme explizit von einer Methode oder einem Codeblock auslöst, während das throws-Schlüsselwort in der Signatur der Methode verwendet wird.
Es gibt viele Unterschiede zwischen den Schlüsselwörtern throw und throws . Eine Liste der Unterschiede zwischen Wurf und Würfen ist unten angegeben:
Herr Nr | Grundlage der Unterschiede | Wurf | wirft |
---|---|---|---|
ein. | Definition | Das Java-Throw-Schlüsselwort wird verwendet, um eine Ausnahme explizit im Code, innerhalb der Funktion oder des Codeblocks auszulösen. | Das Schlüsselwort Java throws wird in der Methodensignatur verwendet, um eine Ausnahme zu deklarieren, die von der Funktion während der Ausführung des Codes ausgelöst werden kann. |
2. | Art der Ausnahme Mit dem Schlüsselwort throw können wir nur ungeprüfte Ausnahmen weitergeben, dh die geprüfte Ausnahme kann nicht nur mit throw propagiert werden. | Mit dem throws-Schlüsselwort können wir sowohl aktivierte als auch nicht aktivierte Ausnahmen deklarieren. Das throws-Schlüsselwort kann jedoch nur zum Weitergeben von geprüften Ausnahmen verwendet werden. | |
3. | Syntax | Auf das throw-Schlüsselwort folgt eine Instanz von Exception, die ausgelöst werden soll. | Auf das throws-Schlüsselwort folgen die Klassennamen der auszulösenden Ausnahmen. |
4. | Erklärung | throw wird innerhalb der Methode verwendet. | throws wird mit der Methodensignatur verwendet. |
5. | Interne Umsetzung | Wir dürfen jeweils nur eine Ausnahme werfen, dh wir können nicht mehrere Ausnahmen werfen. | Wir können mehrere Ausnahmen mit dem throws-Schlüsselwort deklarieren, das von der Methode ausgelöst werden kann. Zum Beispiel löst main() IOException, SQLException aus. |
Java-Wurf-Beispiel
- öffentliche Klasse TestThrow {
- //Definieren einer Methode
- public static void checkNum ( int num) {
- wenn (Zahl < 1 ) {
- throw new ArithmeticException( “\nZahl ist negativ, Quadrat kann nicht berechnet werden” );
- }
- sonst {
- System.out.println( “Quadrat von ” + num + ” ist ” + (num*num));
- }
- }
- //Hauptmethode
- public static void main(String[] args) {
- TestThrow obj = new TestThrow();
- obj.checkNum (- 3 );
- System.out.println( “Rest des Codes..” );
- }
- }
Ausgabe:
Java wirft Beispiel
- öffentliche Klasse TestThrows {
- //Definieren einer Methode
- public static int divideNum( int m, int n) löst ArithmeticException {
- int div = m / n;
- Rückgabe div;
- }
- //Hauptmethode
- public static void main(String[] args) {
- TestThrows obj = new TestThrows();
- versuche {
- System.out.println (obj.divideNum( 45 , 0 ));
- }
- catch (ArithmeticException e){
- System.out.println( “\nZahl kann nicht durch 0 geteilt werden” );
- }
- System.out.println( “Rest des Codes..” );
- }
- }
Ausgabe:
Java throw und throws Beispiel
- öffentliche Klasse TestThrowAndThrows
- {
- // Definieren einer benutzerdefinierten Methode
- // was ArithmeticException auslöst
- static void method() löst ArithmeticException aus
- {
- System.out.println( “Innerhalb der Methode()” );
- neue ArithmeticException werfen ( “ArithmeticException werfen” );
- }
- //Hauptmethode
- public static void main(String args[])
- {
- Versuchen
- {
- Methode();
- }
- catch (ArithmeticException e)
- {
- System.out.println( “gefangen in main() Methode” );
- }
- }
- }
Ausgabe: