python的异常处理

Posted python成长中

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的异常处理相关的知识,希望对你有一定的参考价值。

try...except

有时候我们写程序的时候,会出现一些错误或异常,导致程序终止。例如,做除法时,除法为0,会引发一个
ZeroDivisionError

a=10
b=0
try:
c=a/b
print c

except ZeroDivisionError ,e:
print e.message

print "done"

我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后
没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except

处理一组异常可以这样写(其中e代表异常的实例):

try:
pass

except (IOError, ZeroDivisionError) ,e:
print e

try ......except....else 语句,当没有异常发生时,else中的语句将会被执行。

例子:

a = 10

b = 0

try:
c = b/a/b
print c

except (IOError , ZeroDivisionError),x:
print x

else:

print ("no error")

print "done"


二、raise 引发一个异常
例子:如果输入的数据不是整数,则引发一个ValueError

inputValue = input("please input a int data:")

if type(inputValue)!=type(1)
raise ValueError

else:
print (inputValue)


三、try。。。finally

无论异常是否发生,在程序结束前,finally中的语句都会被执行

a = 10
b =0

try:
print a/b

except:
print "error"

finally:
print "always excute"


四、自定义一个异常类


这个自定义

五、python所有的标准异常类:

异常名称

描述

BaseException (所有异常的基类(父类))

SystemExit (解释器请求退出)

KeyboardInterrupt (用户中断执行(通常是输入^c))

Exception (常规错误的基类)

Stoplteration (迭代器没有更多的值)

GeneratorExit (生成器(generator)发生异常来通知退出)

SystemExit (python解释器请求退出)

StandardError (所有的内建标准异常的基类)

ArithemticError (所有数值计算错误的基类)

FloatingPointError (浮点计算错误)

OverflowError (数值运算超出最大限制)

ZeroDivisionError 除(或取模)零(所有数据类型)

AssertionError (断言语句失败)

AttributeError(对象没有这个属性)

EoFError (没有内建输入,到达EoF标记)

EnvironmentError (操作系统错误的基类)

IOError (输入/输出操作失败)

OSError (操作系统错误)

windowsError (系统调用失败)

ImportError (导入模块/对象失败)

LookupError (无效数据查询的基类)

IndexError (序列中没有此索引(index))

KeyError (映射中没有这个建)

MemoryError (内存溢出错误(对于python解释器不是致命的))

NameError (未声明/初始化对象(没有属性))

UnboundLocalError (访问未初始化的本地变量)

ReferenceError (弱引用(weak reference)试图访问已经垃圾回收了的对象)

RuntimeError (一般的运行时错误)

SyntaxError (python 语法错误)

TypeError (对类型无效的操作)

ValueError (传入无效的参数)

SyntaxWarning (可疑的语法的警告)





































以上是关于python的异常处理的主要内容,如果未能解决你的问题,请参考以下文章

Python异常处理

Python基础---python中的异常处理

Python --- 异常处理

python-异常处理及异常处理的两种方式对比

Python异常处理

python异常处理