python入门 8 异常处理

异常:

比如用只读模式打开一个不存在的文件,则会报错:
python入门 8 异常处理
python入门 8 异常处理

如果我们不想修改语义错误的语句,而是直接不让编译器报错,那可以使用以下语句:
try…except…,具体使用截图如下:
这里的代码意思是:执行open语句,如果遇到IOError,则不报错,继续执行try之后的代码。

python入门 8 异常处理

当然,有些时候我们的一段代码可能会产生多种异常,那么我们可以通过except (error1,error2…)这样来穷举所有可能发生的异常:(当然是找到第一个错误之后,try里面的第一个错误之后的代码就不会执行了,而是直接执行except里面的代码)
python入门 8 异常处理

如果我们事先不知道try中的代码会发生什么异常,那么可以通过except Exception 语句直接包括所有种类的异常,也就是try中无论发生什么异常,都会执行except中的代码。
后面也可以加上 as result,这里的result是自己定义的一个变量,用来获取具体的异常信息(可以打印出来)。
如下面的代码和执行结果:

python入门 8 异常处理
python入门 8 异常处理

还有一种用法是:
try。。。finally,这里finally里面的语句是一定会执行的,不管有没有发生异常。
python入门 8 异常处理

小练习(文件读写、异常处理)

python入门 8 异常处理

第1题我的答案:
python入门 8 异常处理

执行结果:
python入门 8 异常处理

第2题我的答案:
python入门 8 异常处理

执行结果:
python入门 8 异常处理
python入门 8 异常处理