我如何处理游戏中的堆栈溢出异常,当我玩游戏时,请尽快回复?
答案 0 :(得分:3)
try
{
//your work
}
catch(StackOverflowException ex)
{
// handle it
}
答案 1 :(得分:3)
嗯,说实话,你可能不应该尝试处理 Stack Overflow异常。
在某些情况下,您无法执行代码以响应堆栈溢出异常,因为该代码需要堆栈空间,这是不可用的,因此是双重错误。
相反,您应该更改代码,以便完全避免它。
这可能意味着将您的算法更改为其他算法,或者可能在您自己的堆栈中实现基于堆栈的递归,而是切换到循环。
答案 2 :(得分:1)
堆栈溢出通常与递归调用有关,而不是与gc有关。
GC会让你失去内存异常。
public static void main(String args[])
{
try
{
LongRecursiveMethodOrSomethingLikeThat();
} catch(StackOverflowError t) {
// Generic catch// catch(Error e)
// anything: catch(Throwable t)
System.out.println("Error:"+t);
t.printStackTrace();
}