python异常简单使用方法
来源:互联网 发布:淘宝订单待清洗 编辑:程序博客网 时间:2024/04/29 22:39
1. try...except
2. try...finally
finally 里面只是执行完成try中的代码后,必须执行的代码,
即使是 try中有异常抛出,也是会去执行finally
所以,一般情况下,finally里面执行的都是一些清理工作,比如:关闭文件描述符,释放锁等
多线程中,对锁的使用
注意,finally中,如果出现异常,外部如果没有相应的捕获机制,该异常会层层抛出,直到最顶端,然后解释器停止
一般我们会这样做
3. 封装了一个全局的捕获异常的函数(偶比较懒,就用了全部的捕获异常方法)
- tommy@lab3:~$ python
- Python 2.5.2 (r252:60911, Jan 4 2009, 17:40:26)
- [GCC 4.3.2] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> 1/0
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- ZeroDivisionError: integer division or modulo by zero
- >>>
- >>> try:
- ... 1/0
- ... except:
- ... print "do something..."
- ...
- do something...
- >>>
2. try...finally
finally 里面只是执行完成try中的代码后,必须执行的代码,
即使是 try中有异常抛出,也是会去执行finally
- >>> try:
- ... 1/0
- ... finally:
- ... print "I just finally do something ,eg: clear!"
- ...
- I just finally do something ,eg: clear!
- Traceback (most recent call last):
- File "<stdin>", line 2, in <module>
- ZeroDivisionError: integer division or modulo by zero
- >>>
所以,一般情况下,finally里面执行的都是一些清理工作,比如:关闭文件描述符,释放锁等
- >>> try:
- ... fd=open("have-exists-file", "r")
- ... print "do some thing ,read file ,write file..."
- ... finally:
- ... fd.close()
- ...
- do some thing ,read file ,write file...
- >>>
多线程中,对锁的使用
- tommy@lab3:~$ python
- Python 2.5.2 (r252:60911, Jan 4 2009, 17:40:26)
- [GCC 4.3.2] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> import threading
- >>> l_lock=threading.RLock()
- >>> try:
- ... l_lock.acquire()
- ... print "do some thing."
- ... finally:
- ... l_lock.release()
- ...
- True
- do some thing.
- >>>
注意,finally中,如果出现异常,外部如果没有相应的捕获机制,该异常会层层抛出,直到最顶端,然后解释器停止
一般我们会这样做
- >>> try:
- ... try:
- ... fd=open("no-exists-file", "r")
- ... print "do some thing ,read file ,write file..."
- ... finally:
- ... fd.close()
- ...except:
- ... print "catch finally exception."
- do some thing ,read file ,write file...
- >>>
3. 封装了一个全局的捕获异常的函数(偶比较懒,就用了全部的捕获异常方法)
- import traceback
- import sys
- def trace_back():
- try:
- return traceback.print_exc()
- except:
- return ''
http://www.iteye.com/topic/416890
- try:
- do_something()
- except:
- print trace_back()
- python异常简单使用方法
- Python 简单异常处理
- Python 模块paramiko简单使用方法
- python简单执行异常处理
- Python的getattr() 使用方法 简单版
- Python 实现简单的自定义异常类型
- 异常使用方法探讨
- Python中异常处理简单示例(try,except,finally)
- Python 异常
- python 异常
- python 异常
- python异常
- 【Python】异常
- python异常
- python异常
- python异常
- PYTHON-异常
- python异常
- Android开发之——activity跳转
- 我需要这个环境
- android IBinder 解析
- UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图
- SQL 操作
- python异常简单使用方法
- 你的未来你想过?Linux和windows之见!
- cocos2d 如何实现 翻牌效果
- (64位)Ubuntu下Android开发环境搭建
- tomcat下配置虚拟目录
- 如何将sql server 2000的数据库还原到sql server 2005里使用?
- ubuntu各版本的意义
- Struts2实现多个文件上传的示例
- 【Android Training - Connectivity】优化下载的效率[Lesson 3 - 使用缓存来避免重复的下载]