异常传播的函数调用链到底有多远?

Tak*_*kun 3 python exception

例如,func1调用func2调用func3哪些调用func4会引发异常.

如果我在调用时输入try/except func1,它会捕获由异常引发的异常func4吗?

func1 --> func2 --> func3 --> func4 Raises exception
Run Code Online (Sandbox Code Playgroud)

bdo*_*lan 7

异常传播直到它们到达处理程序,或者直到它们到达程序或线程的入口点.如果后者发生,您的程序将终止.所以,是的,异常将被捕获在func1中,除非其他一个函数首先捕获它.