Java Zkuste Catch Block
V Javě výjimka je nechtěná nebo neočekávaná událost, která nastane během provádění programu. Pokud dojde k výjimce, provádění programu se ukončí. Abychom se vyhnuli těmto podmínkám ukončení, můžeme použít try catch block v Javě. V tomto článku se dozvíme o Try, catch, throw a throws v Javě.
Proč dochází k výjimce?
Výjimka může nastat z několika důvodů, jako je problém s připojením k síti, chybný vstup poskytnutý uživatelem, otevření neexistujícího souboru ve vašem programu atd.
Bloky a klíčová slova používaná pro zpracování výjimek
1. zkuste v Javě
The Snaž se blok obsahuje sadu příkazů, kde může dojít k výjimce.
try { // statement(s) that might cause exception } 2. chytit v Javě
Blok catch se používá ke zpracování nejistých podmínek bloku try. Po bloku try vždy následuje blok catch, který zpracovává výjimku vyskytující se v souvisejícím bloku try.
catch { // statement(s) that handle an exception // examples, closing a connection, closing // file, exiting the process after writing // details to a log file. } 3. hodit do Javy
Klíčové slovo throw se používá k přenosu řízení z bloku try do bloku catch.
Níže je uvedena implementace výše uvedeného přístupu:
Jáva
// 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);> > }> > }> }> |
Výstup
Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown
4. hází v Javě
The hází klíčové slovo se používá pro zpracování výjimek bez bloku try & catch. Určuje výjimky, které může metoda vyvolat volajícímu a nezpracovává sama sebe.
Níže je uvedena implementace výše uvedeného přístupu:
Jáva
// 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.');> > }> > }> }> |
Výstup
Inside fun(). caught in main.
5. konečně na Javě
Provádí se po bloku catch. Používáme to k vložení nějakého společného kódu (který se má provést bez ohledu na to, zda došlo k výjimce nebo ne), když existuje více bloků catch.
Příklad výjimky generované systémem je uveden níže:
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
Níže je uvedena implementace výše uvedeného přístupu:
Jáva
// 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');> > }> > }> }> |
Výstup
Exception caught:Division by zero I am in final block
Časté dotazy pro Try Block v Javě
1. Kdy byste měli použít bloky try catch?
Bloky Try catch se používají k zamezení výjimek, aby se kód nezlomil před úplným spuštěním.
2. Co je throw a throws v Javě?
Hod se používá pro přenos kontroly z bloku try na blok catch. Zatímco throws se používá pro zpracování výjimek bez bloku try & catch. Throws určují výjimky, které může metoda vyvolat volajícímu a nezpracovává sama sebe.
3. Můžeme mít dva bloky úlovků?
Ano, s příkazy try můžeme mít více bloků catch.