en Java excepción es un evento no deseado o inesperado, que ocurre durante la ejecución del programa. Cuando ocurre una excepción, la ejecución del programa finaliza. Para evitar estas condiciones de terminación, podemos utilizar el bloque try catch en Java. En este artículo, aprenderemos sobre Try, catch, throw y throws en Java.
¿Por qué ocurre una excepción?
Puede ocurrir una excepción debido a varias razones, como un problema de conexión de red, una entrada incorrecta proporcionada por un usuario, la apertura de un archivo que no existe en su programa, etc.
Bloques y palabras clave utilizados para el manejo de excepciones
1. prueba en java
El intentar El bloque contiene un conjunto de declaraciones donde puede ocurrir una excepción.
try { // statement(s) that might cause exception }>
2. atrapar en Java
El bloque catch se utiliza para manejar la condición incierta de un bloque try. Un bloque try siempre va seguido de un bloque catch, que maneja la excepción que ocurre en el bloque try asociado.
catch { // statement(s) that handle an exception // examples, closing a connection, closing // file, exiting the process after writing // details to a log file. }>
3. tirar en Java
La palabra clave throw se utiliza para transferir el control del bloque try al bloque catch.
A continuación se muestra la implementación del enfoque 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);> > }> > }> }> |
lista java vacía
>
>Producción
Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown>
4. lanza en Java
El lanza La palabra clave se utiliza para el manejo de excepciones sin el bloque try & catch. Especifica las excepciones que un método puede generar a la persona que llama y no las maneja por sí mismo.
A continuación se muestra la implementación del enfoque anterior:
Java
cómo imprimir 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.');> > }> > }> }> |
>
>Producción
Inside fun(). caught in main.>
5. finalmente en java
Se ejecuta después del bloque catch. Lo usamos para colocar código común (que se ejecutará independientemente de si se ha producido una excepción o no) cuando hay varios bloques catch.
A continuación se muestra un ejemplo de una excepción generada por el 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ón se muestra la implementación del enfoque anterior:
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');> > }> > }> }> |
>
>
protocolos de capa de enlace de datosProducción
Exception caught:Division by zero I am in final block>
Preguntas frecuentes sobre Try Block en Java
1. ¿Cuándo deberías utilizar los bloques try catch?
Los bloques try catch se utilizan para evitar excepciones, de modo que el código no se rompa antes de la ejecución completa.
2. ¿Qué es tirar y tirar en Java?
El lanzamiento se utiliza para transferir el control del bloque try al bloque catch. Mientras que throws se usa para el manejo de excepciones sin el bloque try & catch. Los lanzamientos especifican las excepciones que un método puede lanzar a la persona que llama y no se maneja por sí solo.
3. ¿Podemos tener dos bloques de captura?
Sí, podemos tener varios bloques catch con declaraciones de prueba.