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. 如何把一个表中的部分字段值插入到另一个表中去 这sql吊

    Insert into  JHAC_TB_CODE(CID,CODE,ADD_TIME,USERID,PRO_CODE,USERNAME)  select f_code.FID,f_code.Fcod ...

  2. Geodatabase - 判断是否处于编辑状态

    Engine中提供IDatasetEdit来判断数据是否处于编辑状态,我们知道,在ArcMap中,进行编辑的不一定都是要素类,也可以是表,网络几何等.以下能在ArcMap中进行编辑的数据都实现了 ID ...

  3. FineUI控件之树的应用(二)

    一.Tree控件应用 <f:PageManager ID="PageManager1" runat="server" /> <f:Tree I ...

  4. tomcat 支持https

    HTTP是平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 这些隐私数据能加密传输,于是网景公司设计了SSL(Se ...

  5. iOS 关于时间戳的一些细节

    最近遇到一个bug,在iPhone上获取当前的时间戳,没有问题,而用iPad来测试的时候,出现了时间戳不对.当时的代码 (需要精确到毫秒,所以*1000) NSTimeInterval t = [[N ...

  6. 修饰器模式(day04)

    修饰器设计模式 --最近我给女朋友买了一款可以更换外壳的手机.现在的外壳是红色的,假如我想用这款手机的时候,会更换成银灰色的外壳.但是我不能随意更换天线或者话筒,因为这些功能模块在手机生产的时候就已经 ...

  7. [转]C++学习心得

    1.把C++当成一门新的语言学习: 2.看<Thinking In C++>: 3.看<The C++ Programming Language>和<Inside The ...

  8. Arbitrage HDU

    Arbitrage                                              Time Limit: 2000/1000 MS (Java/Others)    Mem ...

  9. log在线生成器 html中如何设置浏览器中标题前的logo

    制作logo的地址:http://www.logomaker.com.cn/ 设置网站logo的方法 在<head></head>标签之间输入<link rel=&quo ...

  10. 解决ligerUI服务器分页Total不起作用的问题

    Js代码:   $('#userTable').ligerGrid({ width:'100%', height:'100%', title:'用户列表', //url:'', dataAction: ...