這段代碼爲什麼會完全破壞輸出?奇怪的Java StackOverflowError?
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.
當我運行代碼時,我只得到一個Boo。 – libik
也許試着解釋你認爲這是怎麼工作的。 – csmckelvey
你問你爲什麼得到多個boo的輸出,而不是一個?你的噓聲在一條線上? – NESPowerGlove