logo

Java Kokeile Catch Blockia

Javalla poikkeus on ei-toivottu tai odottamaton tapahtuma, joka tapahtuu ohjelman suorittamisen aikana. Kun poikkeus tapahtuu, ohjelman suoritus keskeytyy. Näiden lopetusehtojen välttämiseksi voimme Javassa käyttää try catch blockia. Tässä artikkelissa opimme kokeilemaan, saamaan, heittämään ja heittämään Javaa.

Miksi poikkeus tapahtuu?

Poikkeus voi johtua useista syistä, kuten verkkoyhteysongelma, käyttäjän antama huono syöttö, ohjelmassasi olevan tiedoston avaaminen jne.



Poikkeuskäsittelyyn käytetyt lohkot ja avainsanat

1. kokeile Javalla

The yrittää lohko sisältää joukon lauseita, joissa voi tapahtua poikkeus.

try {  // statement(s) that might cause exception }>

2. saalis Javassa

Catch-lohkoa käytetään käsittelemään try-lohkon epävarmaa tilaa. Try-lohkoa seuraa aina catch-lohko, joka käsittelee siihen liittyvässä try-lohkossa esiintyvän poikkeuksen.

catch {  // statement(s) that handle an exception  // examples, closing a connection, closing  // file, exiting the process after writing  // details to a log file. }>

3. heittää Java sisään

Heitto-avainsanaa käytetään ohjauksen siirtämiseen try-lohkosta catch-lohkoon.



Alla on yllä olevan lähestymistavan toteutus:

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);> >}> >}> }>

komento node js:ssä
>

>

Lähtö

Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown>

4. heittää Java sisään

The heittoja avainsanaa käytetään poikkeusten käsittelyyn ilman try & catch -lohkoa. Se määrittää poikkeukset, jotka menetelmä voi heittää soittajalle, eikä käsittele itseään.

Alla on yllä olevan lähestymistavan toteutus:

Java




for silmukan tyypit
// 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.');> >}> >}> }>

>

>

Lähtö

Inside fun(). caught in main.>

5. vihdoin Javalla

Se suoritetaan catch-lohkon jälkeen. Käytämme sitä yleisen koodin asettamiseen (joka suoritetaan riippumatta siitä, onko poikkeus tapahtunut vai ei), kun on useita catch-lohkoja.

Alla on esimerkki järjestelmän luomasta poikkeuksesta:

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>

Alla on yllä olevan lähestymistavan toteutus:

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');> >}> >}> }>

>

>

purkaminen linuxissa
Lähtö

Exception caught:Division by zero I am in final block>

Usein kysytyt kysymykset Try Blockille Javassa

1. Milloin kannattaa käyttää try catch -lohkoja?

Kokeile catch-lohkoja käytetään välttämään poikkeuksia, jotta koodi ei katkea ennen täyttä suoritusta.

2. Mikä on heitto ja heitot Javassa?

Heittoa käytetään ohjauksen siirtämiseen try-lohkosta catch-lohkoon. Kun taas heittoja käytetään poikkeusten käsittelyyn ilman try & catch -lohkoa. Heitot määrittelevät poikkeukset, jotka menetelmä voi heittää soittajalle eikä käsittele itseään.

3. Voiko meillä olla kaksi kiinnityslohkoa?

Kyllä, meillä voi olla useita catch-lohkoja try-lauseilla.