异常
定义
程序中发生了不和预期的状况。
异常处理
异常处理就是程序出现问题时,仍然可以按照正确的顺序执行代码。和其他面向对象一样,Python也是使用类似于 try...catch
的代码来处理异常。
在Python中 try
代码块包含可能发生异常的代码,except
用来捕获异常,如果try
代码块中发生异常,则程序立马跳转到except
中执行代码,不管try
代码块有没有执行玩。
捕获异常时,可以多次捕获,捕获的异常范围从小到大,以便确定具体的异常。
除了上述这种捕获方式外,Python中还额外增加了try...except...else
结构,即try
中没有发生异常,else
必执行,否则执行except
中的代码块。
此外还有一种try...except...finally
的结构,即无论是否发生异常,finally
块必执行。
代码示例
程序未发生异常,因此打印成功打开文件的信息。对于异常的捕获,首先是判断文件是否存在,然后是否发生IO异常,最后是BaseException。无论是否发生异常,文件最后都会关闭。