我如何在游戏中处理堆栈溢出异常?

时间:2010-10-01 09:45:08

标签: java-me

我如何处理游戏中的堆栈溢出异常,当我玩游戏时,请尽快回复?

3 个答案:

答案 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();
}