python重要支撑五种异常机制,离别举例。
默许的异常处置惩罚器
s = 'Hello girl!' print s[100] print 'continue'
假如我们没有对异常举行任何防备,那末在顺序实行的过程当中发作异常,就会中断顺序,挪用python默许的异常处置惩罚器,并在终端输出异常信息。这类情况下,第3行代码不会实行。
try…except
s = 'Hello girl!' try: print s[100] except IndexError: print 'error...' print 'continue'
顺序实行到第2句时发明try语句,进入try语句块实行,发作异常,回到try语句层,寻觅背面是不是有except语句。找到except语句后,会挪用这个自定义的异常处置惩罚器。except将异常处置惩罚终了后,顺序继承往下实行。这类情况下,末了两个print语句都邑实行。
except背面也可认为空,示意捕捉任何范例的异常。
try…finally
s = 'Hello girl!' try: print s[100] finally: print 'error...' print 'continue'
finally语句示意,不管异常发作与否,finally中的语句都要实行。然则,因为没有except处置惩罚器,finally实行终了后顺序便中断。这类情况下,倒第2个print会实行,到第1个不会实行。假如try语句中没有异常,三个print都邑实行。
with…as
with open('nothing.txt','r') as f: f.read() print 2/0 print 'continue'
我们日常平凡在运用相似文件的流对象时,运用终了后要挪用close要领封闭,很贫苦。这里with…as语句供应了一个异常轻易的替换要领:open翻开文件后将返回的文件流对象赋值给f,然后在with语句块中运用。with语句块终了以后,会隐蔽地自动封闭文件。
假如with语句或语句块中发作异常,会挪用默许的异常处置惩罚器处置惩罚,但文件照样会一般封闭。
这类情况下,会抛出异常,末了的print不实行。
以上就是python异常处置惩罚构造有哪几种情势的细致内容,更多请关注ki4网别的相干文章!