Блок Try-finally предотвращает StackOverflowError
Взгляните на следующие два метода:
public static void foo() {
try {
foo();
} finally {
foo();
}
}
public static void bar() {
bar();
}
Бегbar()
явно приводит кStackOverflowError
, но работаетfoo()
нет (программа, кажется, работает бесконечно).Why is that?