Excepción no controlada en Java

Mohammad Irfan 12 octubre 2023
  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

Artículo relacionado - Java Exception