Почему этот код полностью разрушает вывод?
public class Main {
public static void main(String[] args) {
System.out.println();
rec();
}
private static int rec() {
try {
return rec();
} catch(StackOverflowError e) {
System.out.println("Boo.");
return 0;
}
}
}
Образец вывода: Boo.Boo.Boo.Boo.Boo.Boo.Boo.Boo.Boo.