logo

vrže in vrže v Javo

V Javi, obravnavanje izjem je eno od učinkovitih sredstev za obravnavo napak med izvajanjem, tako da se lahko ohrani redni tok aplikacije. Ravnanje z izjemami Java je mehanizem za obravnavanje napak med izvajanjem, kot so ClassNotFoundException, IOException, SQLException, RemoteException itd.

V tem članku bomo spoznali vrže in vrže v Javi, ki lahko obravnava izjeme v Javi.

Java met

Ključna beseda throw v Javi se uporablja za eksplicitno vračanje izjeme iz metode ali katerega koli bloka kode. Lahko vržemo bodisi označena ali nepreverjena izjema . Ključna beseda throw se večinoma uporablja za vračanje izjem po meri.



Sintaksa v Java throw

 throw   Instance  Example: throw new ArithmeticException('/ by zero');>

Toda ta izjema, tj. Primerek mora biti vrste Za metanje ali podrazred Za metanje .

Na primer , je izjema podrazred Throwable in uporabniško definirane izjeme običajno razširijo razred Exception. Za razliko od C++ tipov podatkov, kot so int, char, floats ali razredi, ki jih ni mogoče metati, ni mogoče uporabiti kot izjeme.

Tok izvajanja programa se ustavi takoj po izvedbi stavka vrženja in najbližjega obkrožanja poskusi blok se preveri, ali ima a ulov izjava, ki ustreza vrsti izjeme. Če najde ujemanje, se Controlled prenese v ta stavek, ki je sicer naslednji priložen poskusi blok je preverjen itd. Če ni ujemanja ulov je najden, bo privzeti obravnavalec izjem zaustavil program.

Primeri metanja Java

Primer 1:

Java




// Java program that demonstrates the use of throw> class> ThrowExcep {> >static> void> fun()> >{> >try> {> >throw> new> NullPointerException(>'demo'>);> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught inside fun().'>);> >throw> e;>// rethrowing the exception> >}> >}> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught in main.'>);> >}> >}> }>

>

>

Izhod

Caught inside fun(). Caught in main.>

Primer 2

Java




// Java program that demonstrates> // the use of throw> class> Test {> >public> static> void> main(String[] args)> >{> >System.out.println(>1> />0>);> >}> }>

>

>

Izhod

Exception in thread 'main' java.lang.ArithmeticException: / by zero>

Java meče

throws je ključna beseda v Javi, ki se uporablja v podpisu metode za označevanje, da bi ta metoda lahko vrgla eno od navedenih izjem vrste. Klicatelj teh metod mora obravnavati izjemo z blokom try-catch.

Sintaksa metanja Java

 type method_name(parameters) throws exception_list exception_list is a comma separated list of all the exceptions which a method might throw.>

Če v programu obstaja možnost sprožitve izjeme, nas prevajalnik vedno opozori na to in obvezno bi morali obravnavati to preverjeno izjemo. V nasprotnem primeru bomo prejeli napako med prevajanjem neprijavljeno izjemo XXX je treba ujeti ali razglasiti za vrženo . Da preprečimo to napako v času prevajanja, lahko izjemo obravnavamo na dva načina:

  1. Z uporabo poskusi ujeti
  2. Z uporabo vrže ključna beseda

Ključno besedo throws lahko uporabimo za prenos odgovornosti za obravnavo izjeme na klicatelja (lahko je to metoda ali JVM), nato pa je za obravnavo te izjeme odgovorna metoda klicatelja.

Java vrže primere

Primer 1

Java




// Java program to illustrate error in case> // of unhandled exception> class> tst {> >public> static> void> main(String[] args)> >{> >Thread.sleep(>10000>);> >System.out.println(>'Hello Geeks'>);> >}> }>

>

>

Izhod

error: unreported exception InterruptedException; must be caught or declared to be thrown>

Pojasnilo

V zgornjem programu dobimo napako časa prevajanja, ker obstaja možnost izjeme, če glavna nit spi, druge niti pa dobijo možnost, da izvedejo metodo main(), kar bo povzročilo InterruptedException.

Primer 2

Java




// Java program to illustrate throws> class> tst {> >public> static> void> main(String[] args)> >throws> InterruptedException> >{> >Thread.sleep(>10000>);> >System.out.println(>'Hello Geeks'>);> >}> }>

>

>

Izhod

Hello Geeks>

Pojasnilo

V zgornjem programu smo z uporabo ključne besede throws obdelali InterruptedException in izhod bomo dobili kot Pozdravljeni Geeki

Primer 3

Java




// Java program to demonstrate working of throws> class> ThrowsExecp {> >static> void> fun()>throws> IllegalAccessException> >{> >System.out.println(>'Inside fun(). '>);> >throw> new> IllegalAccessException(>'demo'>);> >}> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (IllegalAccessException e) {> >System.out.println(>'caught in main.'>);> >}> >}> }>

>

je poseben znak

>

Izhod

Inside fun(). caught in main.>

Pomembne točke o metih Ključna beseda

  • ključna beseda throws je potrebna samo za preverjene izjeme in uporaba ključne besede throws za nepreverjene izjeme je nesmiselna.
  • ključna beseda throws je potrebna le za prepričevanje prevajalnika in uporaba ključne besede throws ne prepreči nenormalne prekinitve programa.
  • S pomočjo ključne besede throws lahko klicatelju metode posredujemo informacije o izjemi.