Есть этот код:
public class Main {
public static void main(final String[] args) throws Exception {
System.out.print("1");
doAnything();
System.out.println("2");
}
private static void doAnything() {
try {
doAnything();
} catch (final Error e) {
System.out.print("y");
}
}
}
И есть вывод:
1yyyyyyyy2
Почему он печатает "y" восемь раз и не более. Как Java может вызвать println()
, когда встречается StackOverflowError
?