1
respuesta

[Duda] Controlando dos excepciones

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad Al ejecutar el codigo, en la consola solo me muestra la ArithmeticException para cuando i==3; pero no me muestra la siguiente excepcion (NullPointerException) y salta de una a i=4. ¿Como puedo hacer para que aparezcan ambas excepciones en el numeral 3?

1 respuesta

¡Hola Alumno!

Para que puedas ver ambas excepciones en el numeral 3, debes utilizar dos bloques try-catch separados para cada excepción. De esta manera, cuando se produzca la excepción NullPointerException, el bloque catch correspondiente la capturará y podrás manejarla adecuadamente.

Te sugiero que modifiques el código de la siguiente manera:

public static void main(String[] args) {
    int i = 1;
    while (i <= 4) {
        try {
            if (i == 3) {
                throw new ArithmeticException("Excepción aritmética en i = 3");
            }
            else {
                String s = null;
                s.length();
            }
        }
        catch (ArithmeticException e) {
            System.out.println(e.getMessage());
        }
        catch (NullPointerException e) {
            System.out.println("Excepción de puntero nulo en i = 3");
        }
        i++;
    }
    System.out.println("Fin del programa");
}

De esta manera, cuando se produzca la excepción NullPointerException, el bloque catch correspondiente la capturará y mostrará el mensaje "Excepción de puntero nulo en i = 3".

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios