1.异常处理语法:
try:
    可能抛出异常的代码块0 #0抛出异常,1-5不会执行
    可能抛出异常的代码块1
    可能抛出异常的代码块2
    可能抛出异常的代码块3
    可能抛出异常的代码块4
    可能抛出异常的代码块5
except ValueError as e1: #异常出现后代码执行
    pass
except KeyError as e2: #异常出现后代码执行
    pass
……
except Exception as e: #异常出现后代码执行
    抛出异常后的处理逻辑
else: #没有异常,代码才执行
    代码块
finally:*#不管有无异常,代码都会执行*
    善后工作,回收系统资源

2.assert 断言:调试代码之用(代码不需要缩进),为了验证明确的程序执行结果,如果条件成立,则代码会继续执行,不成立会抛出异常。

3.自定义异常的类型:

Python3之异常处理

图中代码可以优化,因为BaseException内部有__str__方法,所以不需要重写__str__方法,直接干掉即可,效果是一样的:

Python3之异常处理

当系统内置的异常满足不了需求时,就可以自定义异常

相关文章: