python 异常
来源:互联网 发布:火烈鸟彩妆 知乎 编辑:程序博客网 时间:2024/05/17 01:13
以操作文件为例,讲解python异常
finally语句
cleanup操作,finally无论是否发生except必执行
def divide(x, y):try:result = x / yexcept ZeroDivisionError:print "division by zero!"else:print "result is", resultfinally:print "executing finally clause"
else语句
如果没有出现except,则执行else
for arg in sys.argv[1:]: try: f = open(arg, 'r') except IOError: print 'cannot open', arg else: print arg, 'has', len(f.readlines()), 'lines' f.close()
with语句
讨巧的办法
with open("myfile.txt") as f: for line in f: print line,
except语句
except后面接常见异常,则处理相应的异常;
如果except后面什么都没有,则处理所有的 错误和异常。
除了上述方式,也可以使用traceback和sys模块捕获和打印异常
traceback
try: a = b b = cexcept: print traceback.print_exc()
sys
try: a = b b = cexcept: info = sys.exc_info() print info
python中常见的异常
1) NameError: 尝试访问一个未声明的变量
2)ZeroDivisionError: 除数为零
3)SyntaxError:Python语法错误
4)IndexError: 请求的索引超出序列范围
5)KeyError:请求一个不存在的字典关键字
6)IOError: 输入/输出错误
7)AttirbuteError: 尝试访问未知的对象属性
8)TypeError:在内建操作或者函数 应用于错误类型的对象时引发
9)ValueError: 在内建操作或者函数 应用于正确类型的对象,但对该对象引用不合适的值引发
raise
可以人为出发异常
使用raise语句
assert
主要功能在于确保程序中的某个条件一定为真时,才能让程序执行,否则终止程序执行并触发AssertionError错误
其可以视为相对高级点的异常处理
print "test assert"
a=input("number\n")
assert a<=10,'Error'
assert语句一般用于程序编写过程中的调试,将其添加到Python源代码中后,未避免影响编译性能,
建议尽量去除assert语句,并将__debug__这个内置变量设置为False,即在运行命令行中添加参数
python -0 test.py
0 0
- Python 异常
- python 异常
- python 异常
- python异常
- 【Python】异常
- python异常
- python异常
- python异常
- PYTHON-异常
- python异常
- Python 异常
- Python异常
- Python异常
- Python异常
- Python异常
- python 异常
- python 异常
- Python 异常
- Android ART分析
- JAVA下载文件
- XPSP3,远程桌面连接问题!
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- 电脑知识大全之CPU的常见故障及处理方法
- python 异常
- Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
- 安装激活 Esri CityEngine
- 电脑知识大全之电脑内存常见问题处理方法
- 进程间通信
- Python 学习_Lesson 0
- 一个Struts2的简单的使用实例
- GET方法请求URL
- Windows Phone (WP) 跨线程更新界面(UI)