Python异常机制机制 学习笔记

Python使用异常处理错误

  1. BaseException
  2. SystemExit/Keyboard/Interrupt/GeneratorExit
  3. Exception
    此链接python官方文档底部有异常等级图看参考

Python使用异常的常见场景

  1. 网络请求(超时、连接错误)
  2. 资源访问(权限问题,资源不存在)
  3. 代码逻辑(越界访问,KeyError等)

Python处理异常模板:

try:
    pass                                # 执行某些可能会出异常的代码
except (Exception1, Exception2) as e:   # 捕捉到定义的异常
    pass                                # 捕捉到后进行处理
else:                                   # 没有发生异常
    pass                                # 没有异常运行的代码
finally:                                # 无论有没有出现异常,都会运行的代码
    pass                                # 常见处理资源的关闭和释放,做错误统计或者进行告警处理

Python如何自定义异常

  1. 继承Exception实现自定义异常,不继承BaseException是因为和Exception同级的也有几个,而继承BaseException会导致捕捉到这几个异常错误,比如经典的ctrl+c触发的KeyboardInterrupt
  2. 给异常添加一些附加信息
  3. 处理业务相关的特定异常raise MyException
class MyException(Exception):
    pass

try:
    raise MyException('my exception')
except MyException as e:
    print(e)

发布了15 篇原创文章 · 获赞 4 · 访问量 1039

猜你喜欢

转载自blog.csdn.net/qq_37316153/article/details/104249394