V Javi izjema je nezaželen ali nepričakovan dogodek, ki se zgodi med izvajanjem programa. Ko pride do izjeme, se izvajanje programa prekine. Da bi se izognili tem prekinitvenim pogojem, lahko v Javi uporabimo blok try catch. V tem članku bomo spoznali poskusi, ulovi, vrzi in vrzi v Javi.
Zakaj pride do izjeme?
Do izjeme lahko pride zaradi več razlogov, kot je težava z omrežno povezavo, slab vnos uporabnika, odpiranje neobstoječe datoteke v vašem programu itd.
Bloki in ključne besede, ki se uporabljajo za obravnavo izjem
1. poskusi v Javi
The poskusi blok vsebuje nabor stavkov, kjer lahko pride do izjeme.
try { // statement(s) that might cause exception }>
2. ulov v Javi
Blok catch se uporablja za obravnavo negotovega stanja poskusnega bloka. Bloku poskusa vedno sledi blok catch, ki obravnava izjemo, ki se pojavi v povezanem bloku poskusa.
catch { // statement(s) that handle an exception // examples, closing a connection, closing // file, exiting the process after writing // details to a log file. }>
3. vrzi Javo
Ključna beseda throw se uporablja za prenos nadzora iz bloka try v blok catch.
Spodaj je izvedba zgornjega pristopa:
Java
// Java program that demonstrates the use of throw> class> ThrowExcep {> > static> void> help()> > {> > try> {> > throw> new> NullPointerException(> 'error_unknown'> );> > }> > catch> (NullPointerException e) {> > System.out.println(> 'Caught inside help().'> );> > // rethrowing the exception> > throw> e;> > }> > }> > public> static> void> main(String args[])> > {> > try> {> > help();> > }> > catch> (NullPointerException e) {> > System.out.println(> > 'Caught in main error name given below:'> );> > System.out.println(e);> > }> > }> }> |
niz v jsonobject
>
>Izhod
Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown>
4. vrže v Javo
The vrže ključna beseda se uporablja za obravnavanje izjem brez bloka poskusi in ulovi. Določa izjeme, ki jih metoda lahko vrže klicatelju in ne obravnava sama sebe.
Spodaj je izvedba zgornjega pristopa:
Java
pretvori niz v json java
// Java program to demonstrate working of throws> class> ThrowsExecp {> > // This method throws an exception> > // to be handled> > // by caller or caller> > // of caller and so on.> > static> void> fun()> throws> IllegalAccessException> > {> > System.out.println('Inside fun(). ');> > throw> new> IllegalAccessException('demo');> > }> > // This is a caller function> > public> static> void> main(String args[])> > {> > try> {> > fun();> > }> > catch> (IllegalAccessException e) {> > System.out.println('caught in main.');> > }> > }> }> |
>
>Izhod
Inside fun(). caught in main.>
5. končno v Javi
Izvede se po bloku catch. Uporabljamo ga za vstavitev skupne kode (ki naj se izvede ne glede na to, ali je prišlo do izjeme ali ne), ko obstaja več blokov catch.
Spodaj je podan primer izjeme, ki jo ustvari sistem:
Exception in thread 'main' java.lang.ArithmeticException : divide by zero at ExceptionDemo.main(ExceptionDemo.java:5) ExceptionDemo: The class name main:The method name ExceptionDemo.java:The file name java:5:line number>
Spodaj je izvedba zgornjega pristopa:
Java
// Java program to demonstrate working of try,> // catch and finally> class> Division {> > public> static> void> main(String[] args)> > {> > int> a => 10> , b => 5> , c => 5> , result;> > try> {> > result = a / (b - c);> > System.out.println('result' + result);> > }> > catch> (ArithmeticException e) {> > System.out.println('Exception caught:Division by zero');> > }> > finally> {> > System.out.println('I am in> final> block');> > }> > }> }> |
>
>
huffmanova koda za kodiranjeIzhod
Exception caught:Division by zero I am in final block>
Pogosta vprašanja za poskus blokiranja v Javi
1. Kdaj uporabiti bloke try catch?
Bloki poskusnega ulova se uporabljajo za izogibanje izjemam, tako da se koda ne prekine pred popolno izvedbo.
2. Kaj je throw in throws v Javi?
Met se uporablja za prenos nadzora s poskusnega bloka na blok lovljenja. Medtem ko se throws uporablja za obravnavanje izjem brez bloka poskusi in ulovi. Vrzi določajo izjeme, ki jih metoda lahko vrže klicatelju in jih sama ne obravnava.
3. Ali lahko imamo dva lovilna bloka?
Da, lahko imamo več blokov catch s stavki try.