一.异常的捕获

异常的类型有很多种,如

1.(1/0):division by zero;

2.print(name)(name未在前文出现过):name 'name' is not defined;

3. f=open('test1234.txt','r',encoding='utf-8') (不存在'test1234.txt'的文件):No such file or directory: 'test1234.txt'等。

只需要一种方法就可以捕获所有异常:

ps:try后面写的是需要执行判断是否出错的语句,如果出现错误,就会执行except后的语句,print(e)打印出错误的类型。如果没有出现错误,就执行else后的语句。而finally后的语句,无论如何都会被执行。其中,else和finally语句可写可省略。

二.异常的传递性

函数的异常具有传递性,我们只需要在最后一次使用的地方抛出异常,就能捕获异常。

运行结果:

分析:因为调用main函数,所以运行fun2,会打印fun2 begin,然后运行fun1,会打印fun1 begin,1/0的错误被捕捉到,回到main中抛出异常。

更多推荐