Python中的异常处理try/except/finally/raise用法分析
程序员文章站
2023-11-30 11:37:04
本文实例分析了python中的异常处理try/except/finally/raise用法。分享给大家供大家参考,具体如下:
异常发生在程序执行的过程中,如果python...
本文实例分析了python中的异常处理try/except/finally/raise用法。分享给大家供大家参考,具体如下:
异常发生在程序执行的过程中,如果python无法正常处理程序就会发生异常,导致整个程序终止执行,python中使用try/except语句可以捕获异常。
try/except
异常的种类有很多,在不确定可能发生的异常类型时可以使用exception捕获所有异常:
try: pass except exception, e: print exception, ":", e
try/except/else
在try语句后也可以跟一个else语句,这样当try语句块正常执行没有发生异常,则将执行else语句后的内容:
try: pass except exception, e: print exception, ":", e else: pring "no exception"
try/except/finally
在try语句后边跟一个finally语句,则不管try语句块有没有发生异常,都会在执行try之后执行finally语句后的内容:
try: pass except exception,e: print "exception: ",e finally: print "try is done"
raise抛出异常
使用raise来抛出一个异常:
a = 0 if a == 0: raise exception("a must not be zero")
最好指出异常的具体类型,如:
a = 0 if a == 0: raise zerodivisionerror("a must not be zero")
python异常列表:
异常名称 | 描述 |
---|---|
baseexception | 所有异常的基类 |
systemexit | 解释器请求退出 |
keyboardinterrupt | 用户中断执行(通常是输入^c) |
exception | 常规错误的基类 |
stopiteration | 迭代器没有更多的值 |
generatorexit | 生成器(generator)发生异常来通知退出 |
standarderror | 所有的内建标准异常的基类 |
arithmeticerror | 所有数值计算错误的基类 |
floatingpointerror | 浮点计算错误 |
overflowerror | 数值运算超出最大限制 |
zerodivisionerror | 除(或取模)零 (所有数据类型) |
assertionerror | 断言语句失败 |
attributeerror | 对象没有这个属性 |
eoferror | 没有内建输入,到达eof 标记 |
environmenterror | 操作系统错误的基类 |
ioerror | 输入/输出操作失败 |
oserror | 操作系统错误 |
windowserror | 系统调用失败 |
importerror | 导入模块/对象失败 |
lookuperror | 无效数据查询的基类 |
indexerror | 序列中没有此索引(index) |
keyerror | 映射中没有这个键 |
memoryerror | 内存溢出错误(对于python 解释器不是致命的) |
nameerror | 未声明/初始化对象 (没有属性) |
unboundlocalerror | 访问未初始化的本地变量 |
referenceerror | 弱引用(weak reference)试图访问已经垃圾回收了的对象 |
runtimeerror | 一般的运行时错误 |
notimplementederror | 尚未实现的方法 |
syntaxerror | python 语法错误 |
indentationerror | 缩进错误 |
taberror | tab 和空格混用 |
systemerror | 一般的解释器系统错误 |
typeerror | 对类型无效的操作 |
valueerror | 传入无效的参数 |
unicodeerror | unicode 相关的错误 |
unicodedecodeerror | unicode 解码时的错误 |
unicodeencodeerror | unicode 编码时错误 |
unicodetranslateerror | unicode 转换时错误 |
warning | 警告的基类 |
deprecationwarning | 关于被弃用的特征的警告 |
futurewarning | 关于构造将来语义会有改变的警告 |
overflowwarning | 旧的关于自动提升为长整型(long)的警告 |
pendingdeprecationwarning | 关于特性将会被废弃的警告 |
runtimewarning | 可疑的运行时行为(runtime behavior)的警告 |
syntaxwarning | 可疑的语法的警告 |
userwarning | 用户代码生成的警告 |
更多python相关内容感兴趣的读者可查看本站专题:《python入门与进阶经典教程》、《python字符串操作技巧汇总》、《python列表(list)操作技巧总结》、《python编码操作技巧总结》、《python数据结构与算法教程》、《python函数使用技巧总结》及《python文件与目录操作技巧汇总》
希望本文所述对大家python程序设计有所帮助。
推荐阅读
-
Python中的异常处理try/except/finally/raise用法分析
-
Python中的异常处理try/except/finally/raise用法分析
-
python中try…except的使用,处理程序异常
-
C#异常处理中try和catch语句及finally语句的用法示例
-
Python使用try except处理程序异常的三种常用方法分析
-
Java编程中异常处理 try-catch-finally语句的一些分析
-
python 错误和异常处理:try/except/else/finally用法大全
-
C#异常处理中try和catch语句及finally语句的用法示例
-
python中try…except的使用,处理程序异常
-
Python使用try except处理程序异常的三种常用方法分析