Skip to content

Excepciones en Java

Gabriel Hidalgo edited this page Jun 12, 2023 · 2 revisions

Wiki Excepciones en Java

¡Bienvenido a la Wiki de Excepciones en Java!

Descripción

Este código de ejemplo muestra cómo manejar excepciones en Java utilizando la clase OperacionExcepcion en el paquete excepciones y la clase Aritmetica en el paquete aritmetica.

El programa principal, TestExcepciones, realiza una división entre dos números y maneja posibles excepciones que puedan ocurrir.

Paquete excepciones

Clase OperacionExcepcion

La clase OperacionExcepcion es una subclase de RuntimeException y se utiliza para representar una excepción personalizada en caso de que ocurra una operación inválida.

package excepciones;

public class OperacionExcepcion extends RuntimeException {
    // Constructor
    public OperacionExcepcion(String mensaje) {
        super(mensaje);
    }
}

Paquete aritmetica

Clase Aritmetica

La clase Aritmetica contiene métodos para realizar operaciones aritméticas, en este caso, se proporciona el método division para realizar la división de dos números.

package aritmetica;

import excepciones.OperacionExcepcion;

public class Aritmetica {
    public static int division(int numerador, int denominador) {
        if (denominador == 0) {
            throw new OperacionExcepcion("División entre cero");
        }
        return numerador / denominador;
    }
}

Clase principal TestExcepciones

La clase TestExcepciones contiene el método main y demuestra cómo manejar excepciones al realizar una división entre dos números.

El programa intenta realizar una división con los valores 10 y 0. Si se produce una excepción de tipo OperacionExcepcion, se muestra un mensaje de error específico. Si se produce otra excepción de tipo Exception, se muestra un mensaje de error general junto con la pila de excepciones. En cualquier caso, se muestra un mensaje indicando que se revisó la división entre cero.

Después de manejar la excepción, el programa muestra el valor de la variable resultado.

package test;

import static aritmetica.Aritmetica.division;
import excepciones.OperacionExcepcion;

public class TestExcepciones {
    public static void main(String[] args) {
        int resultado = 0;
        try {
            resultado = division(10, 0);
        } catch (OperacionExcepcion e) {
            System.out.println("Ocurrio un error de tipo OperacionExcepcion");
            System.out.println(e.getMessage());
        } catch (Exception e) {
            System.out.println("Ocurrio un Error");
            // Se conoce como la pila de excepciones
            e.printStackTrace(System.out);
            System.out.println(e.getMessage());
        } finally {
            System.out.println("Se reviso la división entre cero");
        }
        System.out.println("La variable de resultado tiene como valor: " + resultado);
    }
}

Clone this wiki locally