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