Prueba, atrapa, tira y finalmente declara en Java | Explicado

Prueba, atrapa, tira y finalmente declara en Java | Explicado
En cualquier lenguaje de programación, incluido Java, siempre existe la posibilidad de que ocurra un error en el momento de la ejecución del código, como resultado, el programa deja de funcionar y lanza un error. En términos programáticamente, este fenómeno se conoce como excepciones. Java proporciona la solución que puede manejar tales excepciones/errores de tiempo de ejecución conocido como manejo de excepciones.

En Java se pueden adoptar múltiples formas para manejar las excepciones, en este artículo sobre las siguientes formas de manejo de excepciones:

  • Manejo de excepciones con declaraciones de prueba de prueba
  • Manejo de excepciones usando la declaración Finalmente
  • Manejo de excepciones usando la palabra clave de lanzamiento

Todos los enfoques mencionados anteriormente se discutirán en este artículo con la ayuda de algunos ejemplos. Sin embargo, antes de dirigirnos a estos enfoques primero debemos entender por qué es necesario manejar las excepciones en Java.

Por qué manejo de excepciones en Java

En caso de que enfrentemos algún error, normalmente el programa detiene su ejecución, sin embargo, el manejo de excepciones asegura que el flujo normal del programa no debería romperse.

Consideremos un escenario para la comprensión profunda del manejo de excepciones en Java:

Supongamos que tenemos cinco declaraciones en un programa y la excepción ocurre en la tercera declaración y luego un programa normal detiene su ejecución en ese punto, y las dos declaraciones restantes no se ejecutarían. Sin embargo, si aplicamos el manejo de excepciones, el flujo normal no se vería afectado.mi. La excepción se mostrará solo para la declaración afectada y todas las demás declaraciones se ejecutarán con éxito.

Ejemplo

Consideremos el siguiente ejemplo que no consideró el mecanismo de manejo de excepciones. Ahora, ¿qué sucederá si se produce un error??

publicClassexceptionHandlingExample
publicstaticvoidmain (string [] args)
int [] arr = 5, 10, 0, 25, 5;
para (inti = 0; i
int num = 50;
Sistema.afuera.println ("resultado:" + num/arr [i]);


En este programa, tenemos una variedad de enteros, dentro del bucle, especificamos una condición ARR.longitud que representa iterar hasta la última entrada de la matriz. Y dentro del cuerpo del bucle, tenemos un número "50" y se dividirá por cada valor de la matriz:

Desde la salida, está claro que el programa termina cuando ocurre un error y no imprime los valores restantes de la matriz.

Por lo tanto, para lidiar con tales escenarios, los programadores de Java utilizan el concepto de manejo de excepciones para que si ocurre un error, en lugar de terminar todo el programa, solo debe lanzar la excepción para la declaración afectada.

Manejo de excepciones usando try-capch

Una de las formas más simples y fáciles de lidiar con las excepciones es trata de atraparlo declaraciones que surgen como par. El código especificado en el bloque de try se probará para las excepciones/errores y si se produce una excepción, se atrapará en el bloque de captura.

La sintaxis básica de la instrucción Try-Catch se verá así:

intentar

// Código para ser probado para su excepción

atrapar

// código para manejar excepciones

El bloque de try siempre será seguido por al menos un bloque de captura.

Ejemplo

Extendamos un poco más el ejemplo anterior y agregemos las declaraciones de prueba de prueba para tratar las excepciones.

publicClassexceptionHandlingExample
publicstaticvoidmain (string [] args)
int num = 50;
int [] arr = 5, 10, 0, 25, 5;
para (inti = 0; iintentar
Sistema.afuera.println ("resultado:" + num / arr [i]);
Catch (Exception Ex)
Sistema.afuera.println ("se produce una excepción");



El código completo junto con su salida respectiva se muestra en el siguiente fragmento:

Esta vez, cuando ocurre un error, en ese momento el programa muestra un mensaje "Se produce una excepción" y después, el bucle itera a través de las entradas restantes de la matriz.

Manejo de excepciones usando la declaración Finalmente

En Java, el finalmente La palabra clave se puede usar con captura de try y siempre se ejecutará independientemente de si las excepciones se manejan o no.

Nota: Siempre escriba las declaraciones/código importantes (que desea ejecutar en cualquier situación) dentro del finalmente bloquear.

Ejemplo

El siguiente fragmento de código muestra cómo finalmente Bloque de obras en Java:

publicClassexceptionHandlingExample
publicstaticvoidmain (string [] args)
intentar
int número1 = 12;
int número2 = 0;
Sistema.afuera.println (número1/número2);

Catch (ArrayIndexOutofBoundSExceptionExcep)
Sistema.afuera.println ("ocurrió la excepción");

finalmente

Sistema.afuera.println ("finalmente bloque");


El código completo y su salida respectiva se muestran en la siguiente captura de pantalla:

Como en el código anterior, utilizamos la excepción ArrayOutOfBound, por lo tanto, no puede manejar una excepción aritmética. Sin embargo, del fragmento anterior, está claro que el finalmente Block se ejecuta independientemente de las consecuencias (i.mi. excepción manejada o no).

Manejo de excepciones usando la palabra clave de lanzamiento

La palabra clave de lanzamiento se puede usar para lanzar una excepción explícitamente (yo.mi. nos permite crear una excepción personalizada). Se puede utilizar con cualquier tipo de excepción como ArrayInDexuToFboundSexception, ArithmeticException, etc.

Ejemplo

En este ejemplo tomaremos un valor en el momento de la llamada de función, si el valor de entrada es igual a 0, entonces lanzaremos un personalizado excepción aritmética.

publicClassThrowExample
publicvoidivide (int input)
int número = 100;
if (input == 0)
throweowarithmeticException ("\ n ingresa 0, no se puede realizar la división");
demás
Sistema.afuera.println ("resultado:" + número / entrada);


publicstaticvoidmain (string [] args)
showleExample obj = NewThrowExample ();
obj.dividir (0);

El fragmento de código completo junto con la salida se proporciona en el siguiente fragmento:

El fragmento de código anterior muestra que pasar "0" Como la entrada resulta en excepciones personalizadas que autentican el funcionamiento del tirar palabra clave.

Conclusión

Java proporciona múltiples declaraciones para manejar excepciones/errores en tiempo de ejecución, como try, captación, finalmente, lanzar. trata de atraparlo Las declaraciones surgen como un par, el bloque de try prueba el código para excepciones/errores si se produce una excepción, entonces se atrapará en el bloque de captura. El finalmente La palabra clave se puede usar con try-capch y siempre se ejecutará independientemente de si las excepciones se manejan o no mientras el tirar La palabra clave se usa para lanzar una excepción explícitamente. Este artículo proporciona una comprensión detallada de cómo lidiar con las excepciones en Java.