logo

Java gooit trefwoord

De Java gooit trefwoord wordt gebruikt om een ​​uitzondering aan te geven. Het geeft de programmeur informatie dat er een uitzondering kan optreden. Het is dus beter voor de programmeur om de code voor het afhandelen van uitzonderingen aan te bieden, zodat de normale stroom van het programma kan worden gehandhaafd.

Exception Handling wordt voornamelijk gebruikt om de gecontroleerde uitzonderingen af ​​te handelen. Als er een ongecontroleerde uitzondering optreedt, zoals NullPointerException, is het de schuld van de programmeur dat hij de code niet controleert voordat deze wordt gebruikt.

scripts uitvoeren onder Linux

Syntaxis van Java-worpen

 return_type method_name() throws exception_class_name{ //method code } 

Welke uitzondering moet worden verklaard?

Jaren: Alleen uitzondering aangevinkt, omdat:

    niet-aangevinkte uitzondering:onder onze controle zodat we onze code kunnen corrigeren.fout:buiten onze macht. We kunnen bijvoorbeeld niets doen als er VirtualMachineError of StackOverflowError optreedt.

Voordeel van Java gooit trefwoord

Nu kan de gecontroleerde uitzondering worden doorgegeven (doorgestuurd in de call-stack).

Het geeft informatie aan de aanroeper van de methode over de uitzondering.

Java gooit Voorbeeld

Laten we eens kijken naar het voorbeeld van de Java throws-clausule, die beschrijft dat gecontroleerde uitzonderingen kunnen worden doorgegeven door het throws-trefwoord.

Proefworpen1.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...'); } } 
Test het nu

Uitgang:

 exception handled normal flow... 

Regel: Als we een methode aanroepen die een uitzondering declareert, moeten we de uitzondering opvangen of declareren.

Er zijn twee gevallen:

    Zaak 1:We hebben de uitzondering onderschept, dat wil zeggen dat we de uitzondering hebben afgehandeld met behulp van het try/catch-blok.Geval 2:We hebben de uitzondering verklaard, d.w.z. het trefwoord throws gespecificeerd met de methode.

Geval 1: Uitzondering afhandelen met behulp van een try-catch-blok

Als we de uitzondering afhandelen, wordt de code prima uitgevoerd, ongeacht of er tijdens het programma een uitzondering optreedt of niet.

Proefworpen2.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...'); } } 
Test het nu

Uitgang:

verschil tussen twee snaren Python
 exception handled normal flow... 

Geval 2: Uitzondering declareren

  • Als we de uitzondering declareren en de uitzondering niet optreedt, wordt de code prima uitgevoerd.
  • In het geval dat we de uitzondering declareren en de uitzondering optreedt, wordt deze tijdens runtime gegenereerd omdat gooit behandelt de uitzondering niet.

Laten we voorbeelden bekijken voor beide scenario's.

sterpatroon afdrukken

A) Als er geen uitzondering optreedt

Proefworpen3.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...'); } } 
Test het nu

Uitgang:

 device operation performed normal flow... 

B) Als er een uitzondering optreedt

Proefworpen4.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...'); } } 
Test het nu

Uitgang:

Java throw-trefwoord

Verschil tussen gooien en worpen

Klik op mij voor details

Que) Kunnen we een uitzondering opnieuw invoeren?

Ja, door dezelfde uitzondering in het catch-blok te gooien.