Python核心编程读笔 9: 异常
第10章 异常
一、异常
1 检测和处理异常
(1)try-except语句
try:
try_suite #监控这里的异常
except Exception[, reason]:
except_suite #异常处理代码
(2)“带有多个except的try语句”和“处理多个异常的except语句”
(3)捕获所有异常
try:
:
except Exception, e:
# error occurred, log 'e', etc.
也可以用裸except语句(不推荐):
try:
try_suite;
except:
# error occurred, log 'e', etc.
(4)异常参数
(5)else子句和finally子句
(6)try-except-else-finally:厨房一锅端
try:
try_suite
except Exception1:
suite_for_Exception1
except (Exception2, Exception3, Exception4):
suite_for_Exceptions_2_3_and_4
except Exception5, Argument5:
suite_for_Exception5_plus_argument
except (Exception6, Exception7), Argument67:
suite_for_Exceptions6_and_7_plus_argument
except:
suite_for_all_other_exceptions
else:
no_exceptions_detected_suite
finally:
always_execute_suite
2 上下文管理
with语句:
with context_expr [as var]:
with_suite
举例:
with open('/etc/passwd', 'r') as f:
for eachLine in f:
# ...do stuff with eachLine or f...
注:无论的在这一段代码的开始,中间,还是结束时发生异常,会执行清理的代码,此外文件仍会被自动的关闭.
3 触发异常
raise [SomeException [, args [, traceback]]]
4 标准异常
二、断言
assert expression[, arguments]
Python核心编程读笔 9: 异常的更多相关文章
- Python核心编程读笔 10:函数和函数式编程
第11章 函数和函数式编程 一 调用函数 1 关键字参数 def foo(x): foo_suite # presumably does some processing with 'x' 标准调用 ...
- Python核心编程读笔 1
第一章 欢迎来到Python世界 1 Python特点: 高级的可进行系统调用的解释性语言 面向对象 可升级.扩展.移植 自动内存管理器(内存管理由Python解释器负责) 2 安装 Windows的 ...
- Python核心编程读笔 13:执行环境
第14章 执行环境 一.可调用对象 python有四种可调用对象:函数.方法.类.一些类的实例 1 函数 (1)内建函数(BIF) BIF是用c/c++写的,编译后放入python解释器,然后把它们 ...
- Python核心编程读笔 12:OOP
第13章 面向对象编程 一.基本概念 1.object类是所有类的基类,如果你的类没有继承任何其他父类,object 将作为默认的父类. 2.python创建实例时无需new: myFirstObje ...
- Python核心编程读笔 6: 映射和集合类型
第七章 映射和集合能力 一 字典(python中唯一的映射类型) 1 基本 创建和赋值: 正常创建:>>>dict = {'name':'earth', 'port':80} 用工厂 ...
- Python核心编程读笔 5: python的序列
第六章 序列:字符串.列表.元组 一.序列 (1)序列类型操作符 seq[ind] 获得下标为 ind 的元素 seq[ind1:ind2] 切片操作 seq * expr 序列重复 expr 次 s ...
- Python核心编程读笔 11:模块
第12章 模块 1.基本概念 模块的文件名就是模块名字.py 每个模块都定义了自己唯一的名称空间 模块的搜索路径:会被保存在 sys 模块的 sys.path 变量里 >>>sys. ...
- Python核心编程读笔 8: 文件和输入输出
第九章 文件和输入输出 一.文件内建函数.方法.属性 1 文件内建函数 file_object = open(file_name, access_mode='r', buffering=-1) 工厂函 ...
- Python核心编程读笔 7: 条件和循环
第八章 条件和循环 一.if python中的条件表达式:很奇葩!!! smaller = (x < y and [x] or [y])[0] 或者: smaller = x if x < ...
随机推荐
- opengl笔记——旋转,一段代码的理解
重看:opengl笔记——OpenGL好资料备忘 在找到这段代码,对理解opengl旋转很有帮助 ... glPushMatrix(); // initialze ModelView matrix g ...
- 【Tarjan,LCA】【3-21个人赛】【problemD】
Problem D Time Limit : 6000/3000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Sub ...
- 初学.NET小技巧(不断更新)
1.快速打出Console.WriteLine : 输入cw,然后按两下tab键. 2.创建一个函数快捷键:bool b = IsPrimeNumber(); 把光标放到函数名上,Shift+Al ...
- powerdesigner 转换各种数据库SQL
转各种SQL脚本的步骤 一.
- html css float left与 float right的使用说明
点评: CSS中很多时候会用到浮动来布局,也就是经常见到的float:left或者float:right,简单点来说,前者是左浮动(往左侧向前边的非浮动元素飘,全是飘得元素的话,就按照流式来浮动从左到 ...
- Qt中实现菜单和工具栏功能
Qt创建菜单和工具栏: 一. temp.h文件的内容 1.定义类temp继承QMainWindow 2.添加Q_OBJECT , 构造函数 . 析构函数等内容 3.$重点内容 3.1定义QActio ...
- golang sha1 signature
package models import ( "crypto/hmac" "crypto/sha1" "encoding/base64" ...
- jquery实现div垂直居中
<html> <head> <meta charset="UTF-8"> <title></title> <scr ...
- 【原】YUI3:js加载过程及时序问题
时序问题在javascript中比较常见,尤其是在网络环境不稳定时以及某些浏览器本来版本中比较多,遇到此类问题,往往会使开发者非常头痛,问题的重现需要特定的环境,是偶发的,不容易重现.对于有经验的开发 ...
- 图片和提交servlet的相对和绝对路径
xx.jsp在根目录下,图片的路径为:<img height="33" src="images/enter.gif" width="148&qu ...