Python使用异常对象来表示异常状态,并在遇到错误时引发异常。
raise语句可以引发异常,将一个类或实例作为参数。
>>> raise Exception #引发的是通用异常,没有指出是什么错误 Traceback (most recent call last): File "<pyshell#120>", line 1, in <module> raise Exception Exception >>> >>> raise Exception('hyperdrive overload') #添加了错误消息yperdrive overload Traceback (most recent call last): File "<pyshell#125>", line 1, in <module> raise Exception('hyperdrive overload') Exception: hyperdrive overload
一些内置的异常类
类名 | 描述 |
Exception | 几乎所有的异常类都是从它派生而来的 |
AttributeError | 引用属性或给它赋值失败时引发 |
OSError | 操作系统不能执行指定的任务(如打开文件)时引发,有多个子类 |
IndexError | 使用序列中不存在的索引时引发,为LookupError的子类 |
KeyError | 使用映射中不存在的键时引发,为LookupError的子类 |
NameError | 找不到名称(变量)时引发 |
SyntaxError | 代码不正确时引发 |
TypeError | 将内置操作或函数用于类型不正确的对象时引发 |
ValueError | 将内置操作或函数用于这样的对象时引发:其类型正确但包含的值不合适 |
ZeroDivisionError | 在除法或求模运算的第二个参数为零时引发 |
待续......