Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Pruebe Catch en Java:ejemplo de manejo de excepciones

¿Qué es una excepción en Java?

Excepción en Java es un evento que interrumpe la ejecución de las instrucciones del programa y perturba el flujo normal de ejecución del programa. Es un objeto que envuelve la información de un evento de error que ocurrió dentro de un método y se pasa al sistema de tiempo de ejecución. En Java, las excepciones se utilizan principalmente para indicar diferentes tipos de condiciones de error.

En este tutorial, aprenderá-

Hay dos tipos de errores:

  1. Errores de tiempo de compilación
  2. Errores de tiempo de ejecución

Los errores de tiempo de compilación se pueden volver a clasificar en dos tipos:

Ejemplo de errores de sintaxis:

En lugar de declarar int a; lo declaraste por error como in a; para el cual el compilador arrojará un error.

Ejemplo:Ha declarado una variable int a; y después de algunas líneas de código, vuelve a declarar un número entero como int a; . Todos estos errores se resaltan cuando compilas el código.

Ejemplo de errores de tiempo de ejecución

Un error de tiempo de ejecución se llama Excepciones error. Es cualquier evento que interrumpe el flujo normal de ejecución del programa.

Ejemplos de excepciones son la excepción aritmética, la excepción Nullpointer, la excepción Dividir por cero, etc.

Las excepciones en Java son algo que está fuera del control de los desarrolladores.

Haga clic aquí si no se puede acceder al video

¿Por qué necesitamos Excepción?

Suponga que ha codificado un programa para acceder al servidor. Las cosas funcionaron bien mientras desarrollabas el código.

Durante la ejecución de producción real, el servidor está inactivo. Cuando su programa intentó acceder a él, se generó una excepción.

Cómo manejar la excepción

Hasta ahora hemos visto, la excepción está fuera del control del desarrollador. Pero culpar de la falla de su código a problemas ambientales no es una solución. Necesitas una Programación Robusta, que se encargue de situaciones excepcionales. Dicho código se conoce como Controlador de excepciones.

En nuestro ejemplo, un buen manejo de excepciones sería, cuando el servidor está inactivo, conectarse al servidor de respaldo.

Para implementar esto, ingrese su código para conectarse al servidor (Usando las condiciones tradicionales if y else).

Comprobará si el servidor está caído. En caso afirmativo, escriba el código para conectarse al servidor de respaldo.

Tal organización de código, usando bucles "if" y "else" no es efectiva cuando su código tiene múltiples excepciones java para manejar.

class connect{
	if(Server Up){
	 // code to connect to server
	}
	else{
	 // code to connect to BACKUP server
	}
}

Intentar atrapar bloque

Java proporciona un manejo excepcional incorporado.

  1. El código normal entra en TRY bloque.
  2. El código de manejo de excepciones entra en CATCH bloquear

En nuestro ejemplo, el bloque TRY contendrá el código para conectarse al servidor. El bloque CATCH contendrá el código para conectarse al servidor de respaldo.

En caso de que el servidor esté activo, se ignorará el código en el bloque CATCH. En caso de que el servidor esté inactivo, se genera una excepción y se ejecutará el código en el bloque catch.

Entonces, así es como se maneja la excepción en Java.

Sintaxis para usar Try &Catch

try{
    statement(s)
}
catch (exceptiontype name){
	statement(s)
}

Ejemplo

Paso 1) Copie el siguiente código en un editor

class JavaException {
   public static void main(String args[]){
      int d = 0;
      int n = 20;
      int fraction = n/d;
     System.out.println("End Of Main");
   }
}

Paso 2) Guarde el archivo y compile el código. Ejecute el programa usando el comando java JavaException

Paso 3) Una excepción aritmética:la división por cero se muestra a continuación para la línea n.° 5 y la línea n.° 6 nunca se ejecuta

Paso 4) Ahora veamos cómo try and catch nos ayudará a manejar esta excepción. Pondremos la excepción que causa la línea de código en un intentar bloque, seguido de un capturar bloquear. Copie el siguiente código en el editor.

class JavaException {
 public static void main(String args[]) {
  int d = 0;
  int n = 20;
  try {
   int fraction = n / d;
   System.out.println("This line will not be Executed");
  } catch (ArithmeticException e) {
   System.out.println("In the catch Block due to Exception = " + e);
  }
  System.out.println("End Of Main");
 }
}

Paso 5) Guarde, compile y ejecute el código. Obtendrá el siguiente resultado

Como observa, se maneja la excepción y también se ejecuta la última línea de código. Además, tenga en cuenta que la línea n.° 7 no se ejecutará porque tan pronto como se genera una excepción, el flujo de control salta al bloque catch.

Nota: El objeto AritmeticException "e" contiene información sobre la excepción que ha ocurrido, lo que puede ser útil para tomar medidas de recuperación.

Jerarquía de clases de excepción de Java

Después de que se ejecuta una instrucción catch, las demás se omiten y la ejecución continúa después del bloque try/catch. Los bloques catch anidados siguen la jerarquía de excepciones.

Ejemplo: Para comprender la anidación de bloques Try and Catch

Paso 1) Copie el siguiente código en un editor.

class JavaException {
 public static void main(String args[]) {
  try {
   int d = 1;
   int n = 20;
   int fraction = n / d;
   int g[] = {
    1
   };
   g[20] = 100;
  }
  /*catch(Exception e){
  	System.out.println("In the catch block due to Exception = "+e);
  }*/
  catch (ArithmeticException e) {
   System.out.println("In the catch block due to Exception = " + e);
  } catch (ArrayIndexOutOfBoundsException e) {
   System.out.println("In the catch block due to Exception = " + e);
  }
  System.out.println("End Of Main");
 }
}

Paso 2) Guarde el archivo y compile el código. Ejecute el programa usando el comando, java JavaException .

Paso 3) Se genera una ArrayIndexOutOfBoundsException. Cambie el valor de int d a 0. Guarde, compile y ejecute el código.

Paso 4 ) Se debe generar una ArithmeticException.

Paso 5) Quite el comentario de la línea n.° 10 a la línea n.° 12. Guarde, compile y ejecute el código.

Paso 6) ¿Error de compilación? Esto se debe a que Exception es la clase base de ArithmeticException Exception. Cualquier excepción que genere ArithmeticException también puede ser manejada por la clase Exception. Por lo tanto, el bloque catch de ArithmeticException nunca tendrá la oportunidad de ejecutarse, lo que lo hace redundante. De ahí el error de compilación.

Java finalmente bloquea

El bloque finalmente se ejecuta independientemente de que se genere una excepción en el bloque de prueba. Es opcional para usar con un bloque de prueba.

 try {
  statement(s)
 } catch (ExceptiontType name) {

  statement(s)

 } finally {

  statement(s)

 }

En caso de que se genere una excepción en el bloque de prueba, el bloque finalmente se ejecuta después de ejecutar el bloque de captura.

Ejemplo

Paso 1) Copie el siguiente código en un editor.

class JavaException {
   public static void main(String args[]){
    try{
       int d = 0;
       int n =20;
       int fraction = n/d;
    }
  catch(ArithmeticException e){
    System.out.println("In the catch block due to Exception = "+e);
  }
  finally{
	System.out.println("Inside the finally block");
  }
}
}

Paso 2) Guarde, compile y ejecute el código.

Paso 3) Rendimiento esperado. Finalmente, el bloque se ejecuta a pesar de que se genera una excepción.

Paso 4) Cambie el valor de la variable d =1. Guarde, compile y ejecute el código y observe el resultado. Parte inferior del formulario

Resumen :


Java

  1. Manejo de excepciones de Python Uso de la instrucción try, except y finalmente
  2. Manejo de excepciones de Java
  3. Prueba de Java ... captura
  4. Java captura múltiples excepciones
  5. Manejo de excepciones de C++:ejemplo Try, Catch, throw
  6. Método Java String charAt() con ejemplo
  7. Java String termina con () método con ejemplo
  8. Java BufferedReader:cómo leer un archivo en Java con un ejemplo
  9. Algoritmo de ordenación por inserción en Java con ejemplo de programa
  10. Manejo de excepciones de Python:probar, atrapar, finalmente y aumentar [Ejemplo]
  11. Java 9 - Prueba con la mejora de los recursos