Manejo de Excepciones en Java
try-catch-finally
En Java, las excepciones son eventos que pueden ocurrir durante la ejecución de un programa y que pueden afectar su flujo normal. El bloque try-catch-finally
se utiliza para manejar estas excepciones. Veamos un ejemplo:
public class ManejoExcepciones {
public static void main(String[] args) {
try {
// Código que podría lanzar una excepción
int resultado = dividir(10, 0);
System.out.println("El resultado es: " + resultado);
} catch (ArithmeticException e) {
// Captura la excepción específica
System.out.println("Error: División por cero.");
} finally {
// Bloque que siempre se ejecuta, independientemente de si hay excepciones o no
System.out.println("Este bloque siempre se ejecuta.");
}
}
// Método que puede lanzar una excepción
public static int dividir(int numerador, int denominador) {
return numerador / denominador;
}
}
En este ejemplo, el método dividir
intenta realizar una división que podría resultar en una excepción de tipo ArithmeticException
. El bloque try
contiene el código propenso a excepciones, el bloque catch
maneja la excepción capturando y manejando el error, y el bloque finally
se ejecuta siempre, independientemente de si se lanza una excepción o no.
Creación de Excepciones Personalizadas
Además de manejar las excepciones integradas en Java, también puedes crear tus propias excepciones personalizadas para situaciones específicas de tu aplicación. Aquí tienes un ejemplo:
// Excepción personalizada
public class SaldoInsuficienteException extends Exception {
public SaldoInsuficienteException(String mensaje) {
super(mensaje);
}
}
// Clase que utiliza la excepción personalizada
public class CuentaBancaria {
private double saldo;
public CuentaBancaria(double saldoInicial) {
this.saldo = saldoInicial;
}
public void retirar(double cantidad) throws SaldoInsuficienteException {
if (cantidad <= saldo) {
saldo -= cantidad;
} else {
// Lanza la excepción personalizada
throw new SaldoInsuficienteException("Saldo insuficiente para realizar el retiro");
}
}
public double obtenerSaldo() {
return saldo;
}
}
En este ejemplo, la clase SaldoInsuficienteException
extiende la clase base Exception
y se utiliza para indicar un error específico de saldo insuficiente. La clase CuentaBancaria
utiliza esta excepción personalizada en el método retirar
.
try {
CuentaBancaria cuenta = new CuentaBancaria(1000);
cuenta.retirar(1200);
} catch (SaldoInsuficienteException e) {
System.out.println("Error: " + e.getMessage());
}
Este código intenta realizar un retiro de una cuenta bancaria y maneja la excepción personalizada SaldoInsuficienteException
si el saldo es insuficiente.
No hay comentarios:
Publicar un comentario