半尾 2010年05月29日 星期六 21:35 | 1672次浏览 | 0条评论
总结一下自
书仔细的读几遍,慢慢就理解了。
异常(Exception): 程序块运行过程中触发的默认错误(IO Error、Division Error)或者手动抛出(raise、assert)的信号、信息,这里叫做Exception。通常这些程序块包含在try语句中。
异常处理: 对于try程序块运行过程中抛出的异常信息,进行情况处理。通常如何处理在exception [Exception, [data]]后的缩进代码块中。
else分句: 只有在不抛出异常时才运行,作用是可以告诉你,通过try语句时是否有异常发生。
finally分句 :无论异常有没有发生,始终运行。
整体结构:
try:
<statements> #Run this action first, raise Exception or not
exception [exception name, [data,...]...]:
<statements> #Run if exception is raised during try block.
else:
<statements> #Run if no exception was raised during try block.
finally:
<statements> #Always run this code on the way out.
触发异常的两种方法:
raise分句:
raise [exception name],[data]...
assert分句:有条件的触发异常。用来声明某个条件是真的,当非真(not <test>)时引发一个异常。
assert <test>, [data]
————
再增加三个说明: (这部分的内容用Learning Python 3里面的例子扩展一下就测试出来了。)
1.关于嵌套try语句:except语句处理异常后异常就消失死了,因此外层的try语句无法再捕捉到异常,除非用空raise语句重新启动一下异常。
2.而finally语句会因一个异常而全部启动内外层的try语句,无论是否嵌套。
3.异常捕捉后受相应异常处理器处理之后就死了,不再跨嵌套传递,否则,传递到外层的try块捕捉。
Zeuux © 2024
京ICP备05028076号
暂时没有评论