一,异常类继承的层次
Python中异常根类是BaseException。其下又分四大类:
SystemExit 解释器请求退出
KeyboardInterrupt 用户中断执行(Ctrl+C)
GeneratorExit 生成器发生异常来通知退出
Exception 常规错误的基类
我们通常讨论的是在Exception基类下产生的异常(非系统退出的异常)。
如果自定义异常需要继承Exception及其子类,不要直接继承BaseException。
Exception子类中除了异常(英文翻译为错误)还有一类是警告(Warning),提示程序潜在风险。
二,常见异常
1,AttributeError
AttributeError是试图访问一个类中不存在的成员(变量,属性和方法)而引发异常。
2,OSError
OSError是操作系统相关异常,如IOError(输入输出异常),FNFError(未找到文件异常)或磁盘已满异常等。
3,IndexError
IndexError是访问序列元素时,下标索引超出取值范围所引发的异常。
4,KeyError
KeyError是试图访问字典里不存在的键时而引发的异常。
5,NaneError
NameError是试图使用一个不存在的变量而引发的异常。
6,TypeError
TypeError是试图传入变量类型与要求的不符合时而引发的异常。
7,ValueError
ValueError时由于传入一个无效的参数值而引发的异常。
其他遇到的问