Saltar al contenido principal
eLearner.app
Módulo 5 · Lección 1 de 29/14 en el curso~12 min
Lecciones del módulo (1/2)

Los bloques try-catch

In Java, los errores que ocurren durante la ejecución de un programa se gestionan a través de las Excepciones. La gestión de excepciones permite interceptar situaciones anómalas y evitar que el programa termine abruptamente.

La estructura try-catch

Para gestionar una posible excepción, envolvemos el código de riesgo dentro de un bloque try. Si ocurre un error dentro del try, la JVM interrumpe la ejecución del bloque y busca un bloque catch correspondiente para manejar la excepción.

Code
try {
    int result = 10 / 0; // Genera un'eccezione ArithmeticException
    System.out.println("Questo non verrà stampato");
} catch (ArithmeticException e) {
    System.out.println("Si è verificato un errore aritmetico: " + e.getMessage());
}

El bloque finally

El bloque finally es opcional y siempre se ejecuta, independientemente de si se ha lanzado o no una excepción. Es ideal para liberar recursos o realizar operaciones de limpieza.

Code
try {
    System.out.println("Esecuzione logica");
} catch (Exception e) {
    System.out.println("Errore");
} finally {
    System.out.println("Questo blocco viene sempre eseguito");
}

Lanzar Excepciones: throw

Podemos lanzar intencionadamente una excepción usando la palabra clave throw, seguida de una nueva instancia de una clase de excepción.

Code
public static void checkScore(int score) {
    if (score < 0 || score > 100) {
        throw new IllegalArgumentException("Il punteggio deve essere compreso tra 0 e 100");
    }
}

Pruébalo tú

Ejercicio#java.m5.l1.e1
Intentos: 0Cargando...

Completa el código insertando un bloque try-catch para manejar una posible ArithmeticException derivada de la división a / b. En caso de error, imprime 'Error: division by zero'.

Cargando editor...
Mostrar pista

Inserta la operación de división dentro del bloque `try` y captura `ArithmeticException` imprimiendo el mensaje requerido.

Solución disponible después de 3 intentos

Ejercicio#java.m5.l1.e2
Intentos: 0Cargando...

Completa el código implementando un bloque try-catch-finally. En el bloque try intenta convertir la cadena str en un entero usando Integer.parseInt. En el catch captura NumberFormatException e imprime 'Invalid number'. En el bloque finally imprime 'Finally'.

Cargando editor...
Mostrar pista

Escribe la estructura `try { ... } catch (NumberFormatException e) { ... } finally { ... }`.

Solución disponible después de 3 intentos

Ejercicio#java.m5.l1.e3
Intentos: 0Cargando...

Completa el método checkAge lanzando una excepción IllegalArgumentException con el mensaje 'Underage' si la edad proporcionada es menor de 18 años.

Cargando editor...
Mostrar pista

Usa `if (age < 18)` y la palabra clave `throw new` para instanciar y lanzar la excepción.

Solución disponible después de 3 intentos