我只想知道当我从 catch block 中调用一个方法时会发生什么 ,它负责抛出异常(Throws the exception)。 我努力搜索,但没有找到任何令人满意的答案....
例如。
public void A()
{
try{
//code which may throw exception
}
catch(Exception e)
{
A();
}
}
最佳答案
你试过吗?在那里调用方法与在任何地方调用它一样。如果它返回一个值、抛出一个异常、停止 JVM 或其他任何事情,它就会像在任何地方一样工作。你正在做的是某种形式的 recursion ,其中方法调用自身。当你这样做时,你必须有某种 terminating condition ,或者它会永远调用自己,或者,因为你在 Java 中,直到你用完堆栈空间,这时你会得到一个 StackOverflowError。 .
关于java - 从 catch block 调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14556868/