Manejo de múltiples cláusulas catch en Java

Aprender: En este artículo, vamos a ver cómo utilizar más de un class bloques en un solo bloque try ?

Hasta ahora hemos visto cómo utilizar un solo bloque catch, ahora vamos a ver cómo utilizar más de un catch bloques en un solo bloque try.

en Java, cuando nos ocupamos de más de un excepciones dentro de un único bloque try {} entonces podemos utilizar varios bloques catch de manejar muchos tipos diferentes de excepciones que puedan generarse durante la ejecución del programa. Sin embargo, cada bloque de catch puede manejar solamente un tipo de excepción. Este mecanismo es necesario cuando el bloque try tiene declaración que plantea diferentes tipos de excepciones.

El catch sintaxis usando cláusula for múltiple se da a continuación:

try{
???
???
}
catch(<exceptionclass_1><obj1>){
//statements to handle the
exception
}
catch(<exceptionclass_2><obj2>){
//statements to handle the
exception
}
catch(<exceptionclass_N><objN>){
//statements to handle the
exception
}

Cuando se produce una excepción, la ejecución normal se suspende. El sistema de ejecución procede a encontrar una coincidencia catch bloque que puede manejar la excepción. Si no se encuentra ningún controlador, a continuación, la excepción es tratado por el manejador de excepciones catch en el nivel superior.

Veamos un ejemplo da a continuación que muestra la implementación de múltiples bloques default catch un solo bloque try.

public class Multi_Catch
{
public static void main(String args[])
{
int array[]={20,10,30};
int num1=15,num2=0;
int res=0;
try
{
res = num1/num2;
System.out.println("The result is" +res);
for(int ct =2;ct >=0; ct--)
{
System.out.println("The value of array are" +array[ct]);
}
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println("Error?. Array is out of Bounds");
}
catch (ArithmeticException e)
{
System.out.println ("Can't be divided by Zero");
}
}
}

En este ejemplo, ArrayIndexOutOfBoundsExceptionand ArithmeticExceptionare dos cláusulas for que hemos utilizado forcatching la excepción en la que los estados que pueden causar excepción se mantienen dentro del bloque try. Cuando se ejecuta el programa, se produce una excepción. Ahora que el tiempo del primer bloque catch se omite y el segundo bloque de asas catch el error.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *