美文网首页
[笔记] Python核心编程 第十章

[笔记] Python核心编程 第十章

作者: 四明羽客 | 来源:发表于2018-03-19 09:46 被阅读17次

try语句块中异常发生点后的剩余语句永远不会到达(所以也永远不会执行)。一旦一个异常被引发,就必须决定控制流下一步达到的位置。剩余代码将会被忽略,解释器将搜索异常处理器,一旦找到,就开始执行异常处理器中的代码。
如果没有找到合适的异常处理器,那么异常就向上移交给调用者去处理,这意味着堆栈框架立即回到之前的那个。如果在上层调用者也没有找到对应的异常处理器,该异常还会继续被向上移交,直到找到合适的异常处理器。如果达到最顶层仍然没有找到对应的异常处理器,那么就认为这个异常未处理,Python解释器会显示出跟踪记录,然后退出。

同时处理多个异常

except (Exc1[, Exc2[, ...ExcN]])[, reason]:
    suite_for_exception_Exc1_to_ExcN
- BaseException
    |- KeyboardInterrupt
    |- SystemExit
    |- Exception
        |- (all other current built-in exceptions)

所以如果要捕获所有的异常,就except BaseException

try-except语句段也有else,和for,while的类型,只有当try语句段中没有异常被检测到时,才会执行else子句。在else范围中的任何代码运行前,try范围中的所有代码必须完全成功(也就是,结束前没有引发异常。)

finally可以和try配合使用,也可以和try-except配合使用,也可以和try-except-else配合使用
finally子句是无论异常是否发生,是否捕捉都会执行的一段代码。

try-finally语句,finally的代码执行完毕之后会继续向上一层引发异常。

如果finally中的代码引发了另一个异常或者由于return,break,continue语法而终止,原来的异常将丢失而且无法重新引发。

异常处理语法样式总结

try:
    try_suite
except Exception1:
    suite_for_Exception1
except (Exception2, Exception3, Exception4):
    suite_for_Exception_2_3_and_4
except Exception5, Argument5:
    suite_for_Exception5_plus_argument
except (Exception6, Exception7), Argument67:
    suite_for_Exception6_and_7_plus_argument
except:
    suite_for_all_other_exception
else:
    no_exceptions_detected_suite
finally:
    always_execute_sutie

相关文章

  • [笔记] Python核心编程 第十章

    try语句块中异常发生点后的剩余语句永远不会到达(所以也永远不会执行)。一旦一个异常被引发,就必须决定控制流下一步...

  • 2019数据科学三本书

    《python cookbook》 《python 核心编程》 《Python 数据分析》

  • Python的特点

    今天开始系统的学习Python,找到了《Python核心编程》的pdf文档开始从头学习。每天记录学习笔记,开始行动...

  • 大师兄的Python学习笔记(十六): FTP与ftplib

    大师兄的Python学习笔记(十五): Socket编程大师兄的Python学习笔记(十七): Mail编程 一、...

  • python核心编程笔记2

    从第二章开始吧! 1、程序输出 a、使用print语句输出:调用str(),将数值转化成字符串 b、在交互式解释器...

  • python核心编程笔记1

    自学python有一段时间了,可是总感觉学的不扎实,现在回过头来重新把python核心编程过一遍并作笔记。目标是扎...

  • python核心编程笔记-1

    note 列表 用中括号包裹[],元素的个数和元素的值可以改变 元组用()包裹,但元素的个数和元素的值不可以更改 ...

  • python多线程入门之旅一

    所有代码来自python核心编程 参考python核心编程一书,学习多线程工作模式,多线程实现主要模块thread...

  • Markdown编辑器使用

    Python核心编程指南之学习笔记一 注意:“#”号和标题之间有一个空格,这是标准Markdown语法 一、标题 ...

  • 资料分享《Python核心编程 第3版 中文版》PDF高清完整版

    《Python核心编程 第3版 中文版》PDF高清完整版-免费下载 《Python核心编程 第3版 中文版》PDF...

网友评论

      本文标题:[笔记] Python核心编程 第十章

      本文链接:https://www.haomeiwen.com/subject/tpvqfftx.html