Acfe 发表于 2018-8-7 06:50:46

Python——异常层级分析

1、大部分的内置异常都是Exception的子类  2、Exception本身是从BaseException类继承过来的
  3、因此所有的异常都是必须从BaseException类进行扩展
  4、Exception是BaseException类的子类,而NameError是Exception的子类,NameError是BaseException类的子子类(或者叫间接子类)
  5、那么,有没有异常类是直接从BaseException类继承的呢?有,那就是下面的两个
  SystemExit:
  这个异常被引发的规则是:不管程序是否正常退出,SystemExit异常都会被触发
  那么退出的动作,通常是在某段代码中调用了sys.exit()之后就会触发SystemExit异常
  SystemExit异常存在的意义是为了在程序退出之前清理代码,但无需显示的去处理它。
  清理代码的动作最好是放在try-finally中的finally里,finally语句是不管是否有异常都会执行
  KeyboardInterrupt:
  这个异常适用于命令行程序,他的引发规则是在键盘上按Ctrl+C,此时这个异常会被抛出
  6、关于sys.exit()
  sys.exit() 引发一个 SystemExit异常,若没有捕获这个异常
  Python解释器会直接退出;捕获这个异常可以做一些额外的清理工作。
  0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。
页: [1]
查看完整版本: Python——异常层级分析