Исключение, выброшенное в операторе catch и, наконец,JAVA

Программисты JAVA общаются здесь
Anonymous
Исключение, выброшенное в операторе catch и, наконец,

Сообщение Anonymous »

На вопрос по Java в университете был такой фрагмент кода:

Код: Выделить всё

class MyExc1 extends Exception {}
class MyExc2 extends Exception {}
class MyExc3 extends MyExc2 {}

public class C1 {
public static void main(String[] args) throws Exception {
try {
System.out.print(1);
q();
}
catch (Exception i) {
throw new MyExc2();
}
finally {
System.out.print(2);
throw new MyExc1();
}
}

static void q() throws Exception {
try {
throw new MyExc1();
}
catch (Exception y) {
}
finally {
System.out.print(3);
throw new Exception();
}
}
}
Меня попросили предоставить результат. Я ответил на 13Exception в главном потоке MyExc2, но правильный ответ — 132Exception в главном потоке MyExc1. Почему это так? Я просто не могу понять, куда делся MyExc2.

Подробнее здесь: https://stackoverflow.com/questions/377 ... lly-clause

Вернуться в «JAVA»