1/30

第八章Python异常处理结构与程序调试

异常处理

try…except结构

try:
try块
except Exception:
except块

try…except…else结构

try:
try块
except Exception:
except块
else: #如果都没捕获到
else块

带有多个except的try结构

try:
try块
except Exception:
except块
except Exception2:
except块
else: #如果都没捕获到
else块

try..except..finally结构

try:
try块
except Exception:
except块
except Exception2:
except块
else: #如果都没捕获到
else块
finally: #无论如何都执行
finally块

断言与上下文管理

assert   expression[,reason]

当判断表达式expression为真时,什么都不做,如果表达式为假时,则抛出异常

断言和异常处理结构往往结合使用,例如

try:

assert 1==2,”1 is not equal 2!”

except AssertionError:

print(“23123”)

with

with context_expr[as var]:
with块

自动管理资源 保证资源的释放,常用在文件操作,网络通信

使用sys模块回溯最后的异常

PDB调试

[Python学习笔记][第八章Python异常处理结构与程序调试]的更多相关文章

  1. python学习笔记1之-python简介及其环境安装

    python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...

  2. python学习笔记(六)——异常处理

    异常处理 在 Python 中,通过两个重要的功能来处理程序在运行中出现的异常和错误.其一是本文提到的异常处理,其二是断言(Assertions). python中,所有的异常均派生自 BaseExc ...

  3. Python学习笔记 (1) :python简介、工具、编码及基础运算

    学习背景: 精通一门编程语言并编写出自己喜欢的程序是我多年的梦想,一定要找时间实现.此时想起了高中时的我对编程的兴趣十分浓厚,父母给自己购买了学习机插卡式的,只能敲basic代码,同时学校有386计算 ...

  4. Python学习笔记之二——Python的运行机制,一般人肯定不会

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:XX   Python解释器简介   解释器是一种让其他程序运行起来的程 ...

  5. Python学习笔记1-搭建Python环境 和 Python Hello World!

    一.搭建Python开发环境 1.选择开发工具 首先要寻找一个Python的开发工具,Python的开发工具有很多,有pyCharm .Eclipse.Visual studio等等 ,使用最多的还是 ...

  6. Python学习笔记(五)——异常处理

    Python 异常总结 异常名称 解释 AssertionError 断言语句(assert)失败:当assert关键字后边的条件为假时,程序将抛出该异常,一般用于在代码中置入检查点 OSError ...

  7. python学习笔记(23)-异常处理

    #异常处理与调试 #异常:在运行代码过程中遇到的任何错误,带有error字样的都是异常 #异常处理,对代码中所有可能出现的异常进行的处理 #1.处理某个错误 2,处理某个类型的错误 3 有错就抓 一. ...

  8. 流畅的python学习笔记第八章:深拷贝,浅拷贝,可变参数

    首先来看赋值,浅拷贝,深拷贝. 一赋值: a=['word',2,3] b=a print id(a),id(b) print [id(x) for x in a] print [id(x) for ...

  9. 【Python学习笔记之一】Python关键字及其总结

    前言 最近在学习Java Sockst的时候遇到了一些麻烦事,我觉得我很有必要重新研究学习Python这种脚本语言,参考大神的经验,淘到了一本学习Python的好书<"笨方法" ...

随机推荐

  1. 如何解决DE0-Nano的EPCS16 无法下载的问题:NO EPCS LAYOUT DATA --- LOOKING FOR SECTION [EPCS-XXXXXX]

    在用NIOS的flashprogram对EPCSx进行烧录程序时,出现了No EPCS layout data --- looking for section [EPCS-XXXXXX]的错误,在网上 ...

  2. css-选择器-优先级

    <!DOCTYPE html>CSS选择器优先级相同优先级下,位置在文档后面的覆盖前面的不同优先级下,越能具体描述元素的css选择器,优先级越高 具体情况:HTML元素继承父级元素的CSS ...

  3. ios开发必备第三方库

    引言 作为iOS开发人员,在开发App的过程中怎么会不使用第三方库呢?相信没有App是不使用第三方库的! 网络库 网络库,这是开发必备,除非你的App玩单机.现在特别火也特别好用的网络库就数AFNet ...

  4. c#类似单片机的8bit或运算

    1.正确 PWMSUBM0 &= (byte)(PWMSUBM0 | 0xfc); PWMSUBM0 &= (byte)(PWMSUBM0 | (byte)0xfc); 2.不能编译的 ...

  5. 将HTML格式的String转化为HTMLElement

    代码如下: <meta charset="UTF-8"> <title>Insert title here</title> </head& ...

  6. 利用WSGI来部署你的网站

    利用WSGI来部署你的网站 当需要部署你的django项目的时候,可以使用apache+python来部署访问你的网站. 由于网上的有关的都是老版本的.所以这里使用apache2.4和python3. ...

  7. jQuery图片延迟加载插件

    在一些图片较多的页面上,如果图片都一起加载网页的速度会比较慢,而且也浪费流量. 使用图片延时加载插件就解决这些问题. 方法: 引入jquery和插件文件 <script src="jq ...

  8. DJANGO的HTTPRESPONSE流式输出

    在项目当中遇到的问题,网上有样例代码,但都不行,后来,发现在了1.5版本之后,新的STREAMHTTPRESPONSE对象, 搞定. from django.http import HttpRespo ...

  9. Mysql 插入记录时检查记录是否已经存在,存在则更新,不存在则插入记录SQL

    我们在开发数据库相关的逻辑过程中, 经常检查表中是否已经存在这样的一条记录, 如果存在则更新或者不做操作, 如果没有存在记录,则需要插入一条新的记录. 这样的逻辑固然可以通过两条sql语句完成. SE ...

  10. Android,监控ContentProvider的数据改变

    有时候应用中需要监听ContentProvider的改变并提供响应,这时候就要利用ContentObserver类了 不管是ContentProvider中实现的,insert,delete,upda ...