Python
关于报错的处理
异常处理
语句 | 注释 |
---|---|
try | 可能出现异常的代码块 |
except | 如果出现异常则执行的代码块 |
finally | 无论是否异常都会执行的代码块 |
代码示例:
# 基本格式:
try:
pass
except Exception as err: # Exception为常规错误的基类(获取异常名称可通过说明文档或输出框的报错信息),err为报错信息的别名,可被使用
pass
# 或(该try-except里的return不会返出去,真正返出去的是finally里的return):
try:
pass
except Exception as err:
pass
finally:
pass
# 变种:
try:
pass
except Exception as err:
pass
else: # 性质与finally差不多,但是如果使用else,则在try代码块中不能出现return(执行return后下方的else就执行不到,且判断不了有无异常)
pass
异常捕获
- 一个报错类型(父)涵盖多个报错类型(子)
- 取类型时直接取涵盖最多的那个
- 父类型的下方必须无子报错类型(只要上面有匹配的那么就不会走下面)
- 或父报错类型放在子报错类型的最下面
抛出异常
raise:手动抛出异常
代码示例:
if len(foo) < 6:
raise Exception('长度必须六位以上')