Excepciones
Hola!
Alguien me puede ayudar.Me dan un código y debo decir la salida por pantalla. Mi gran duda es si sale "X" o no.La cosa es que he intentado de mil maneras que se ejecute pero no lo consigo.
class Pruebas {
public static void main(String args[]) {
try {
f();
} catch (InterruptedException e) {
System.out.print("A");
throw new RuntimeException();
} catch (RuntimeException e) {
System.out.print("B");
return;
} catch (Exception e) {
System.out.print("C");
return;
} finally {
System.out.print("D");
}
System.out.print("Z");
}
// InterruptedException es subclase de Exception
static void f() throws InterruptedException {
throw new InterruptedException("X");
}
}
Alguien me puede ayudar.Me dan un código y debo decir la salida por pantalla. Mi gran duda es si sale "X" o no.La cosa es que he intentado de mil maneras que se ejecute pero no lo consigo.
class Pruebas {
public static void main(String args[]) {
try {
f();
} catch (InterruptedException e) {
System.out.print("A");
throw new RuntimeException();
} catch (RuntimeException e) {
System.out.print("B");
return;
} catch (Exception e) {
System.out.print("C");
return;
} finally {
System.out.print("D");
}
System.out.print("Z");
}
// InterruptedException es subclase de Exception
static void f() throws InterruptedException {
throw new InterruptedException("X");
}
}
Hombre pues no saldrÃa por pantalla, lanzas en f() la excepcion con el mensaje "X", pero en los out, nunca recoges el mensaje de la excepcion.
Para sacarlo por pantalla en el catch de InterruptedException
deberÃas poner System.out.print(e.getMessage()); asi recoges el mensaje que tiene la excepción
Para sacarlo por pantalla en el catch de InterruptedException
deberÃas poner System.out.print(e.getMessage()); asi recoges el mensaje que tiene la excepción
