Unterschied zwischen Throw und Throws in Java

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 NrGrundlage der UnterschiedeWurfwirft
ein.DefinitionDas 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.SyntaxAuf 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ärungthrow wird innerhalb der Methode verwendet.throws wird mit der Methodensignatur verwendet.
5.Interne UmsetzungWir 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

TestThrow.java

  1. öffentliche Klasse  TestThrow {   
  2.     //Definieren einer Methode  
  3.     public static void  checkNum ( int  num) {    
  4.         wenn  (Zahl <  1 ) {  
  5.             throw new  ArithmeticException( “\nZahl ist negativ, Quadrat kann nicht berechnet werden” );   
  6.         }  
  7.         sonst  {  
  8.             System.out.println( “Quadrat von ”  + num +  ” ist ”  + (num*num));  
  9.         }  
  10.     }  
  11.     //Hauptmethode  
  12.     public static void  main(String[] args) {    
  13.             TestThrow obj =  new  TestThrow();  
  14.             obj.checkNum (- 3 );  
  15.             System.out.println( “Rest des Codes..” );  
  16.     }  
  17. }  

Ausgabe:

Unterschied zwischen Throw und Throws in Java

Java wirft Beispiel

TestThrows.java

  1. öffentliche Klasse  TestThrows {   
  2.     //Definieren einer Methode  
  3.     public static int  divideNum( int  m,  int  n)  löst  ArithmeticException {    
  4.         int  div = m / n;  
  5.         Rückgabe  div;  
  6.     }  
  7.     //Hauptmethode  
  8.     public static void  main(String[] args) {    
  9.         TestThrows obj =  new  TestThrows();  
  10.         versuche  {  
  11.             System.out.println (obj.divideNum( 45 ,  0 ));  
  12.         }  
  13.         catch  (ArithmeticException e){  
  14.             System.out.println( “\nZahl kann nicht durch 0 geteilt werden” );  
  15.         }  
  16.           
  17.         System.out.println( “Rest des Codes..” );  
  18.     }  
  19. }  

Ausgabe:

Unterschied zwischen Throw und Throws in Java

Java throw und throws Beispiel

TestThrowAndThrows.java

  1. öffentliche Klasse  TestThrowAndThrows   
  2. {  
  3.     // Definieren einer benutzerdefinierten Methode  
  4.     // was ArithmeticException auslöst  
  5.     static void  method()  löst  ArithmeticException aus   
  6.     {  
  7.         System.out.println( “Innerhalb der Methode()” );  
  8.         neue ArithmeticException werfen  ( “ArithmeticException werfen” );   
  9.     }  
  10.     //Hauptmethode  
  11.     public static void  main(String args[])    
  12.     {  
  13.         Versuchen  
  14.         {  
  15.             Methode();  
  16.         }  
  17.         catch (ArithmeticException e)  
  18.         {  
  19.             System.out.println( “gefangen in main() Methode” );  
  20.         }  
  21.     }  
  22. }  

Ausgabe:

Unterschied zwischen Throw und Throws in Java

osky