八、异常_1.异常类型和语法

异常

当检测到错误时,解释器无法继续执行,并出现错误信息,这就是异常
异常语句可以尝试执行某句可能发生错误的代码,如果发生错误,则执行另一句没有错误的代码
不能确定一段代码是否有错误时,把它放入异常语句中执行,以避免程序发生错误导致无法推进的情况

异常类型

错误信息中会提示异常类型,如 NameError、SyntaxError、FileNotFoundError 等
如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常
捕获多个异常时,可以把要捕获的异常类型放入tuple
Exception 是所有程序异常类的父类
一般try下只放一行尝试执行的代码

异常的语法

try:
    可能发生异常的代码
except (*异常类型) as VARIABLE :
    发生异常时执行的代码
else:
    没有发生异常时执行的代码
finally:
    无论是否发生异常都执行的代码

捕获异常

try:
    print(Undef)
except (NameError,SyntaxError) as res :
    print(res)

try:
    open('Undef','r')
except Exception as res :
    print(res)

name 'Undef' is not defined
[Errno 2] No such file or directory: 'Undef'

异常的else

try:
    print('this is test')
except Exception as res:
    print(res)
else:
    print('No error')

this is test
No error

异常的finally

try:
    f = open('test.txt','r')
except Exception as res :
    f = open('test.txt','w')
    print('new')
else:
    print('exist')
finally:
    print('close')
    f.close()

new
close
上一篇:Necklace of Beads(polya)


下一篇:百度分享2.0测试实例