El bloque Try-finally previene StackOverflowError
Echa un vistazo a los siguientes dos métodos:
public static void foo() {
try {
foo();
} finally {
foo();
}
}
public static void bar() {
bar();
}
Corriendobar()
claramente resulta en unaStackOverflowError
, pero corriendofoo()
no (el programa parece ejecutarse indefinidamente).¿Porqué es eso?