Ich bin auf eine Übung während der Vorbereitung meiner OCA gestoßen, ich verstehe nicht, warum das Programm drucken: anstelle von abcde 3
. Hier das Programm:Ausnahme erneut in java
'public static void main(String[] args) {
System.out.print("a");
try{
System.out.print("b");
throw new IllegalArgumentException();
}catch(IllegalArgumentException e){
System.out.print("c");
throw new RuntimeException("1");
}catch(RuntimeException e) {
System.out.print("d");
throw new RuntimeException("2");
}finally {
System.out.print("e");
throw new RuntimeException("3");
}
}'
Irgendwelche Erklärungen, warum es die letzte catch-Block ignoriert werden wirklich zu schätzen!
'Ein weiteres Problem ist, dass die Ausnahme in der letzten catch-Block geworfen wird einfach ignoriert oder maskiert von dem, der in den finally block geworfen wird. Ja, das ist ein Problem, aber es ist ein in Java eingebautes Problem :) Wirf keine Ausnahmen von finally-Blöcken. – biziclop