如何在Java中处理StackOverflowError?[已关闭]
2022-09-03 03:16:07
我该如何处理Java?StackOverflowError
我该如何处理Java?StackOverflowError
我不确定你说的“句柄”是什么意思。
您当然可以捕获该错误:
public class Example {
public static void endless() {
endless();
}
public static void main(String args[]) {
try {
endless();
} catch(StackOverflowError t) {
// more general: catch(Error t)
// anything: catch(Throwable t)
System.out.println("Caught "+t);
t.printStackTrace();
}
System.out.println("After the error...");
}
}
但这很可能是一个坏主意,除非你确切地知道你在做什么。
你可能有一些无限递归。
即一遍又一遍地调用自己的方法
public void sillyMethod()
{
sillyMethod();
}
处理此问题的一种方法是修复代码,以便递归终止而不是永远继续。