为什么这个异常不打印0?

1 python exception

try:
    try:
        raise Exception('0')
    finally:
        print 1/0
except Exception, e:
    print e
Run Code Online (Sandbox Code Playgroud)

它只打印出"整数除法或模数为零".代码运行时的过程是什么?

650*_*502 5

当存在finally子句时,无论您如何离开正文,即执行异常或通过return声明,都会执行代码.

如果在finally一个异常期间有异常,那么这个新的异常将取代原来的异常,这就是为什么你得到的错误大约是1/0,而不是你原来的异常.

您可以阅读有关在"定义清理操作"的官方文档中处理错误和异常的更多信息.