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

异常捕获

  1. 一个报错类型(父)涵盖多个报错类型(子)
    • 取类型时直接取涵盖最多的那个
  2. 父类型的下方必须无子报错类型(只要上面有匹配的那么就不会走下面)
    • 或父报错类型放在子报错类型的最下面

抛出异常

raise:手动抛出异常

代码示例:

if len(foo) < 6:
    raise Exception('长度必须六位以上')