Java valodā izņēmums ir nevēlams vai negaidīts notikums, kas notiek programmas izpildes laikā. Izņēmuma gadījumā programmas izpilde tiek pārtraukta. Lai izvairītos no šiem pārtraukšanas nosacījumiem, Java var izmantot try catch block. Šajā rakstā mēs uzzināsim par Java izmēģināšanu, ķeršanu, metienu un metienu.
Kāpēc rodas izņēmums?
Izņēmums var rasties vairāku iemeslu dēļ, piemēram, tīkla savienojuma problēma, lietotāja sniegta slikta ievade, neesoša faila atvēršana programmā utt.
Izņēmumu apstrādei izmantotie bloki un atslēgvārdi
1. izmēģiniet Java
The mēģināt bloks satur paziņojumu kopu, kurā var rasties izņēmums.
try { // statement(s) that might cause exception }> 2. nozvejas Java
Noķeršanas bloks tiek izmantots, lai apstrādātu nenoteiktu mēģinājuma bloka stāvokli. Mēģināšanas blokam vienmēr seko noķeršanas bloks, kas apstrādā izņēmumu, kas rodas saistītajā mēģinājuma blokā.
catch { // statement(s) that handle an exception // examples, closing a connection, closing // file, exiting the process after writing // details to a log file. }> 3. iemet Java
Metiena atslēgvārds tiek izmantots, lai pārsūtītu vadību no mēģinājuma bloka uz noķeršanas bloku.
Tālāk ir aprakstīta iepriekš minētās pieejas īstenošana.
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);> >}> >}> }> |
instantiēta java
>
>Izvade
Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown>
4. iemet Java
The metieni atslēgvārds tiek izmantots izņēmumu apstrādei bez try & catch bloka. Tajā ir norādīti izņēmumi, kurus metode var sūtīt zvanītājam, un tā netiek apstrādāta pati.
Tālāk ir aprakstīta iepriekš minētās pieejas īstenošana.
Madhuri teica, nāc
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.');> >}> >}> }> |
>
>Izvade
Inside fun(). caught in main.>
5. beidzot Java
Tas tiek izpildīts pēc noķeršanas bloka. Mēs to izmantojam, lai ievietotu kādu kopīgu kodu (kas jāizpilda neatkarīgi no tā, vai ir noticis izņēmums), ja ir vairāki uztveršanas bloki.
Tālāk ir sniegts sistēmas ģenerētā izņēmuma piemērs:
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>
Tālāk ir aprakstīta iepriekš minētās pieejas īstenošana.
i d e pilna forma
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');> >}> >}> }> |
>
>Izvade
Exception caught:Division by zero I am in final block>
Bieži uzdotie jautājumi par izmēģinājuma bloķēšanu Java
1. Kad jums vajadzētu izmantot try catch blokus?
Mēģiniet izmantot noķeršanas blokus, lai izvairītos no izņēmumiem, lai kods nesabojātos pirms pilnīgas izpildes.
2. Kas ir metiens un metieni Java valodā?
Metiens tiek izmantots kontroles pārnešanai no try bloka uz noķeršanas bloku. Savukārt metienus izmanto izņēmumu apstrādei bez try & catch bloka. Metieni norāda izņēmumus, ko metode var izsaukt zvanītājam un neapstrādā pati.
3. Vai mums var būt divi nozvejas bloki?
Jā, mums var būt vairāki nozvejas bloki ar try paziņojumiem.