16.异常处理机制:exception
来源:互联网 发布:access2003数据库教程 编辑:程序博客网 时间:2024/06/08 10:15
python常见异常总结:http://bbs.fishc.com/forum.php?mod=viewthread&tid=45814&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
AssertError:断言assert语句失败AttributeError:尝试访问未知的/不存在的对象的方法IndentationError:缩进错误ImportError:导入模块失败SyntaxError:python的语法错误ZeroDivisionError:除零错误IndexError:索引超出序列的范围TypeError:不同类型直接运算KeyError:字典中查找一个不存在的关键字IOError:没有文件或目录MemoryError:内存溢出(可通过删除和释放对象解决)NameError:尝试访问一个不存在的变量KeyboardError:中断键(Ctrl+C)OSError:操作系统产生的异常(例如打开一个不存在的文件)OverflowError:数值运算超出最大限制RuntimeError:一般运行时出现的错误(递归超出最大迭代次数等)ReferenceError:试图访问一个已经被垃圾回收机制回收的对象ValueError:传入无效的参数FloatingPointError:浮点计算错误EOFError:用户输入文件末尾标志EOF(Ctrl+D)NotImplementedErrror:尚未实现的方法
检测并处理异常
语法:
try: 检测范围except Exception[as reason]: #Exception异常类型 reason:异常原因 出现异常后处理异常的代码finally: 无论如何让都会被执行的代码
例:
【代码1】try: f = open('G:\\new.txt','w') #以w方式打开文件 f.write('I love you!') 1/0 #发生除以0异常 f.close() #发生除以0异常后,直接跳过此句话except (IOError,ZeroDivisionError) as reason: #捕获初零异常 print('文件出错误了!\n' + str(reason)) #打印错误原因文件出错误了!integer division or modulo by zero但是:并没有把'I love you!'写入'G:\\new.txt'文件,因为除零异常发生,直接跳过f.close()语句,因此缓冲区中的数据还没有写入文件,就被释放。【代码2】修改成带finally的代码try: f = open('G:\\new.txt','w') #以w方式打开文件 f.write('I love you!') 1/0 #发生除以0错误except (IOError,ZeroDivisionError) as reason: #捕获初零异常 print('文件出错误了!\n' + str(reason)) #打印错误原因finally: #把必须要执行的代码放在finally之后 f.close() 文件出错误了!integer division or modulo by zero此时,把'I love you!'写入了'G:\\new.txt'文件
阅读全文
0 0
- 16.异常处理机制:exception
- Exception(异常处理机制)面试题
- java 异常(Exception)处理机制
- 深入理解java异常处理机制-exception
- C++异常处理之abort()、异常机制、exception 类
- Javascript异常(exception)处理机制详解 JS、异常Error属性
- PHP5的异常处理机制[11]--Exception类的子类
- 异常机制Exception
- Exception(异常处理)
- Exception异常处理
- Oracle Exception 异常处理
- java异常处理Exception
- Java异常处理Exception
- python Exception 异常处理
- 【java】 异常处理 exception
- java异常处理Exception
- Java - 异常(Exception)处理
- 异常处理(Exception)
- 手游服务器开发技术详解
- C语言语句概况
- 提高微信公众号文章采集效率,anyproxy进阶使用方法(转)
- 安卓四种启动模式的通俗理解
- JProfiler使用说明
- 16.异常处理机制:exception
- redis的持久化方式RDB和AOF的区别
- 2017-08-08 DBA日记,使用python模拟高并发访问数据库
- 获取资源文件, Android res getIdentifier
- 阿里云OSS上传thinkphp
- seg_accuracy_layer.cpp
- [hadoop+spark+python]大数据实战随手笔记
- windows7+caffe 仅CPU
- Python常用操作(二)之文件处理