什么是异常
Python 用异常处理来表示异常情况。
事实上每个异常都是一些类的实例,可以被引发,也可以用很多方法进行捕捉,并对其处理。
引发异常
异常可以自己引发
raise语句
>>> raise Exception
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception
>>> raise Exception("oh,error")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception: oh,error
一些重要的内建异常类:
| 类名 | 描述 |
|---|---|
| Exception | 所有异常的基类 |
| AttributeError | 特性引用或赋值失败时引发 |
| IOError | 试图打开不存在的文件时引发 |
| IndexError | 在使用序列中不存在的索引时引发 |
| keyError | 在使用映射中不存在的键时引发 |
| NameError | 在找不到名字(变量)时引发 |
| SyntaxError | 在代码为错误形式时引发 |
| TypeError | 在内建操作或者函数应用于错误类型的对象时引发 |
| ValueError | 在内建操作或者函数应用于正确类型的对象,但是该对象使用不合适的值时引发 |
| ZeroDivisionError | 在除法或者模除操作的第二个参数为0时引发 |
自定义异常类
和其他类一样,只要确保从Exception类继承。
class SomeCustomException(Exception): pass