Excepción no controlada en Java

  1. Excepción no controlada en Java
  2. Excepción Manejada en Java
Excepción no controlada en Java

Este tutorial presenta qué es una excepción no controlada y cómo manejarla en Java.

Una excepción es una condición que detiene la ejecución de un código de manera anormal y conduce a la terminación del código.

En Java, las excepciones pueden ocurrir debido a un código incorrecto o una falla del sistema, como problemas de memoria. Java proporciona soporte completo para manejar las excepciones para que el código pueda ejecutarse sin problemas sin terminación y proporcionar el resultado deseado.

Una excepción que no se maneja se llama excepción no manejada y lleva a terminar el código antes de su ejecución.

En este artículo, analizaremos qué es una excepción no controlada y cómo manejarla. Entendamos con algunos ejemplos.

Excepción no controlada en Java

En este ejemplo, tomaremos dos valores enteros de un usuario y los dividiremos. Este código funciona bien sin ningún error o excepción, pero Java no ejecuta el código y genera una excepción si el divisor es cero.

Como no usamos ningún controlador de excepciones aquí, el código detiene la ejecución y termina de forma anormal. Podemos ver la consola para comprender el motivo de la excepción.

Esta excepción no se maneja y podemos ver cuán peligrosa puede ser si no se manejó correctamente.

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter any two values");

    int val1 = sc.nextInt();
    int val2 = sc.nextInt();
    double result = val1 / val2;
    System.out.println("result " + result); // this statement does not execute
  }
}

Producción :

Enter any two values
30
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at myproject.SimpleTesting.main(SimpleTesting.java:13)

Excepción Manejada en Java

Aquí, estamos usando un controlador (bloque try-catch) para manejar la excepción. Este código es similar al código anterior, excepto que tiene el bloque try-catch y permite que el código se ejecute incluso después de la excepción.

Observe la última declaración impresa del código. En el código anterior, esta declaración no se ejecuta debido a una excepción.

Aún así, se ejecuta incluso después de obtener una excepción en el siguiente código porque ahora el código no termina. Además, omite el código y comienza a ejecutarse imprimiendo el resultado en la consola.

Vea el ejemplo a continuación.

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    double result = 0.0;
    try {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter any two values");

      int val1 = sc.nextInt();
      int val2 = sc.nextInt();
      result = val1 / val2;
    } catch (Exception e) {
      System.out.println("Exception occured " + e);
    }
    System.out.println("result " + result);
  }
}

Producción :

Enter any two values
30
0
Exception occured java.lang.ArithmeticException: / by zero
result 0.0
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete

Artículo relacionado - Java Exception