异常是写代码的过程中经常出现的问题,也是软件构建、跟用户交互必不可少的重要内容。
在实际生活中,如果用户没有按照软件代码预想的方式进行操作,导致代码出现异常报错,就需要进行很好的异常处理,引导用户以正确方式使用软件。
异常处理主要分为以下内容:
一、异常也是一种对象
- 异常是一种Python用来管理程序执行期间发生错误的一种特殊对象;
- 异常有很多常见类型,在上图中有所穷举,适当记住一些可协助自己在写代码的过程中快速理解报错原因,高效的修改代码;
- 异常之间有些存在一定的包含关系;
二、异常的处理
1. try-except
(1)一个try VS 一个except
try:
要检测的东西(一般是怀疑可能出现报错的内容)
except Exception(一般是怀疑可能的报错类型):
与怀疑的报错一致时的处理代码
举例:
以处理ZeroDivisionError异常为例
try:
print(5/0)
except ZeroDivisionError :
print('Zero can not be divided')
(2)一个try VS 多个except
同一个try后可带有多个except,但最多只会有一个分支被执行;且当有包含关系的两种报错类型分别在两个except语句中出现,则谁先出现执行谁;
举例:
查询错误包含键错误和值错误,如果查询错误和键错误同时出现在一个try的两个except分支,则若查询错误在前,执行查询错误分支;若键错误在前,执行键错误分支;
dict1 = {
'a': 1, 'b': 2, 'v': 22}
try:
x = dict1['y']
except KeyError:
print('键错误')
except LookupError:
print('查询错误')
else:
print(x)
dict1 = {
'a'