猛禽的编程艺术 2020-01-16
异常处理是确保程序在控制范围内运行的一个保障机制,在程序发生异常时执行应对措施,确保程序不会直接挂掉,并且让异常信息有迹可循,所以合理的异常处理机制也是保障程序健壮性的关键因素之一。
在Python中,异常处理的流程结构大致如下,
try: 代码块1 except Exception as e: 代码块2 raise e else: 代码块3 finally: 代码块4
下面详细说明各个关键字的用法,
1、try
如果程序中有一些操作可能会出现异常,那么就把这些代码放在try语句后面,比如一些用户输入、文件读取等操作。
2、except
当try里面的代码出现异常后,except里的代码就会执行,这里主要用于捕获和处理异常,except可以存在多个,但每次捕获的异常都不能相同,有点类似于条件判断的elif,并且except可以一次性捕获多个异常,异常以元组的方式记录,但是不推荐这么做,因为这样做可能无法分辨到底出现了哪个异常。
3、else
如果try里面的代码没有出现任何异常,那么else里的代码就会执行,它和except就是两个不同的分支,所以except和else不可能同时运行。
4、finally
无论前面有没有出现异常,最后finally的语句都会执行。
5、raise
将捕获到的异常显式出来,如果是自定义的异常,可以不需要raise。
所有异常类的基类:BaseException