异常是具有传递性的
当函数func1中发生异常, 并且没有捕获处理这个异常的时候, 异常会传递到函数func2, 当func2也没有捕获处理这个异常的时候,func3函数会捕获这个异常, 这就是异常的传递性.
提示:当所有函数都没有捕获异常的时候, 程序就会报错
def func1():
print("func1")
num=1/0
print("func1结束")
def func2():
print("func2")
func1()
print("func2结束")
def func3():
print("func3")
try:
func2()
except Exception as e:
print(e)
func3()
利用异常具有传递性的特点, 当我们想要保证程序不会因为异常崩溃的时候, 就可以在func3函数中设置异常捕获, 由于无论在整个程序哪里发生异常, 最终都会传递到func3函数中, 这样就可以确保所有的异常都会被捕获