异常处理

一、异常种类
二、多分支处理:try后跟多个except
三、万能异常类型:Execption,匹配所有异常
四、try……except……else……finally
五、主动触发异常
六、自定义异常

一、异常种类:

nameerror:未定义
vauleerror:值
typeerror:类型
indexerror:索引
keyerror:字典
syntaxerror:语法
AttributeError:属性

二、多分支处理:try后跟多个except

try:
    print('hello')
    a = 'x' + 2    #TypeError
    print(m)    #NameError
    print('hi')
except NameError as n:  #异常类型:NameError、异常的值:n
    print(n)
except TypeError as t:
    print(t)

三、万能异常类型:

Execption,匹配所有异常

四、try……except……else……finally

try:
    print('hello')
except Exception as e:
    print(e)
else:
    print('try内代码没有异常执行')
finally:
    print('无论异常与否,都会执行该模块,通常是进行清理')

else 表示 try内代码没有异常执行
funally 表示 无论异常与否,都会执行该模块,通常是进行清理工作,例如:关闭数据库,关闭ssh链接等

五、主动触发异常

raise TypeError('错误类型')

六、自定义异常

通过继承BaseException来自定义自己的异常

七、断言

assert表达式不满足,抛出AssertionError

a = 1 
b = 2
assert a == b #抛出AssertionError
posted @ 2017-05-02 18:52  六神酱  阅读(174)  评论(0编辑  收藏  举报