3
例如,說func1
調用func2
,其調用func3
,其調用func4
,這引發異常。函數調用鏈有多遠纔會執行異常?
如果我試試/除了打電話func1
,它是否會發現func4
提出的異常?
func1 --> func2 --> func3 --> func4 Raises exception
例如,說func1
調用func2
,其調用func3
,其調用func4
,這引發異常。函數調用鏈有多遠纔會執行異常?
如果我試試/除了打電話func1
,它是否會發現func4
提出的異常?
func1 --> func2 --> func3 --> func4 Raises exception
異常會傳播到它們到達處理程序或直到它們到達程序或線程的入口點。如果後者發生,您的程序將終止。所以,是的,這個異常會被func1捕獲,除非其他函數之一捕獲它。
將異常傳播到調用棧,直到匹配的except
塊處理它爲止。如果except
塊包含raise
指令,它可能會繼續向上移動堆棧。