半尾

半尾的博客

他的个人主页  他的博客

Python基础:异常处理宏观概念

半尾  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哲思注册吗?现在 注册 !

暂时没有评论

Zeuux © 2024

京ICP备05028076号