Взгляните на следующие два метода:
public static void foo() {
try {
foo();
} finally {
foo();
}
}
public static void bar() {
bar();
}
Запуск bar() явно приводит к StackOverflowError, но запуск foo() не выполняется (программа просто работает бесконечно). Почему это?