1.Python内建异常(不完全):
Exception所有异常的基类
AttributeError特性引用或赋值失败时引用
IOError试图打开不存在文件时引用
IndexError在使用序列中不存在的索引时引发
KeyError在使用映射中不存在的键时引发
NameError在找不到名字(变量)时引发
SyntaxError在代码为错误形式时引发
TypeError在内建操作或者函数应用于错误类型的对象时引发
ValueError在内建操作或者函数应用于正确类型的对象,但该对象使用不合适的值时引发
ZeroDivisionError在除法或者模除操作的第二个参数为0时引发
2.自定义异常类:
class SelfException(Exception): pass
要确保从Exception类继承,无论是直接还是间接
3.捕捉异常:
try:
somework
except someError:
someotherwork
也可以
try:
…
except error1:
…
except error2:
…
except error2:
…
或者
try:
somework
except (Error1, Error2,Error3…):
someotherwork
try:
…
except:
…
else:
…
try:
…
except:
…
finally:
…
finally 的语句一定会被执行
在很多情况下使用try/except语句比使用if/else语句更加自然。