Der Try-finally-Block verhindert StackOverflowError
Sehen Sie sich die folgenden zwei Methoden an:
public static void foo() {
try {
foo();
} finally {
foo();
}
}
public static void bar() {
bar();
}
Laufenbar()
klar ergibt sich einStackOverflowError
, aber rennenfoo()
nicht (das Programm scheint nur auf unbestimmte Zeit zu laufen).Warum das?