每一个异常都是一些类的实例,这些实例可以被引用,并且可以用很多种方法进行捕捉,使得错误可以被处理
处理
try except 语句
同 java的 try catch
try:except e1:except e2:...try:...except (e1, e2):...try:...except e1 as e:...可以调用e 之类的操作try:...except:异常全捕捉else:如果没有异常 则。。。
抛出
1 使用raise函数 抛出 异常
2 NameError、SyntaxError、TypeError、ValueError等异常类称为内建异常类
自定义异常
1 以通过创建一个新exception类拥有自己的异常。异常应该继承自Exception类
class MyException(Exception):def __init__(self):...
finally
1 无论是否发生异常 都会执行
2 在except 和 else 之后
3 很适合关闭文件和数据库连接
4 异常信息是以堆栈的形式被抛出的,因而是从下往上查看的
