假设我有这种情况:
function1() call to function2(), and function2() call to function3().
如果function3()抛出异常,我可以从function1()中捕获异常吗?
在可能的情况下,其中一些函数属于不同的类??我可以继续从function1中捕获吗?
答案 0 :(得分:3)
如果你没有捕获异常,那么它将自动在调用堆栈中冒泡。如果你没有在function2或function3中捕获异常,你将能够在function1中捕获它。
答案 1 :(得分:2)
这是例外的全部要点。您可以使用try catch语句在函数中的任何位置捕获它们(无论是简单函数还是方法调用)调用堆栈,