异常的传递
异常是是具有传递性的
当函数 fun01() 发生异常, 并且没有捕获处这个异常的时候, 异常会传递到函数 fun02(), 当 fun02() 也没有捕获处理这个异常的时候, main 函数会捕获这个异常, 这就是异常的传递性
当所有函数都没有捕获异常的时候, 程序就会报错

python
def fun01():
return 1 / 0
def fun02():
fun01()
def fun03():
fun02()
def main():
try:
fun03()
except Exception as e:
print(f"出现了异常, 异常信息是{e}")
main()
python
def fun01():
return 1 / 0
def fun02():
fun01()
def fun03():
fun02()
def main():
try:
fun03()
except Exception as e:
print(f"出现了异常, 异常信息是{e}")
main()
打印:
python
出现了异常, 异常信息是division by zero
如果想要捕获一段异常 ,并不需要深入到真正出现异常大那一句话, 只要函数之间有调用关系, 只需要在最顶级的调用里进行捕获, 因为异常是可以传递的