En Java excepció és un esdeveniment no desitjat o inesperat, que es produeix durant l'execució del programa. Quan es produeix una excepció, l'execució del programa s'acaba. Per evitar aquestes condicions de terminació podem utilitzar try catch block a Java. En aquest article, aprendrem sobre Prova, atrapa, llança i llança a Java.
Per què es produeix una excepció?
Es pot produir una excepció per diversos motius, com ara un problema de connexió a la xarxa, una entrada incorrecta proporcionada per un usuari, l'obertura d'un fitxer inexistent al vostre programa, etc.
Blocs i paraules clau utilitzats per a la gestió d'excepcions
1. prova en Java
El provar bloc conté un conjunt d'instruccions on es pot produir una excepció.
try { // statement(s) that might cause exception }>
2. agafar en Java
El bloc catch s'utilitza per gestionar la condició incerta d'un bloc try. Un bloc try sempre va seguit d'un bloc catch, que gestiona l'excepció que es produeix al bloc try associat.
catch { // statement(s) that handle an exception // examples, closing a connection, closing // file, exiting the process after writing // details to a log file. }>
3. llançar Java
La paraula clau throw s'utilitza per transferir el control del bloc try al bloc catch.
A continuació es mostra la implementació de l'enfocament anterior:
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);> > }> > }> }> |
caràcter a cadena
>
>Sortida
Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown>
4. llança Java
El llançaments La paraula clau s'utilitza per a la gestió d'excepcions sense el bloc try & catch. Especifica les excepcions que un mètode pot llançar a la persona que truca i no es gestiona per si mateix.
A continuació es mostra la implementació de l'enfocament anterior:
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.');> > }> > }> }> |
>
>
nova línia pythonSortida
Inside fun(). caught in main.>
5. finalment a Java
S'executa després del bloc catch. L'utilitzem per posar algun codi comú (que s'executarà independentment de si s'ha produït una excepció o no) quan hi ha diversos blocs catch.
A continuació es mostra un exemple d'excepció generada pel sistema:
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>
A continuació es mostra la implementació de l'enfocament anterior:
Java
compara la cadena 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');> > }> > }> }> |
>
>Sortida
Exception caught:Division by zero I am in final block>
Preguntes freqüents sobre Try Block a Java
1. Quan hauríeu d'utilitzar els blocs try catch?
Els blocs Try catch s'utilitzen per evitar excepcions perquè el codi no es trenqui abans de l'execució completa.
2. Què és throw and throws a Java?
El llançament s'utilitza per transferir el control del bloc try al bloc catch. Mentre que throws s'utilitza per a la gestió d'excepcions sense el bloc try & catch. Els llançaments especifiquen les excepcions que un mètode pot llançar a la persona que truca i no es gestiona per si mateix.
3. Podem tenir dos blocs de captura?
Sí, podem tenir diversos blocs catch amb declaracions try.