Python 异常处理

来源:互联网 发布:德拉诺飞行软件 编辑:程序博客网 时间:2024/05/22 03:01

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。


什么是异常?


异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。


异常处理


捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它

1: try不仅捕获异常,而且会恢复执行

a=10b=0try:    c=a/b    print cexcept ZeroDivisionError,e:    print e.messageprint "done"

做除法时,除数为0,会引起一个ZeroDivisionError


2:无论try是否发生异常,finally总会执行

a=10b=0try:    print a/bexcept:    print "error"finally:    print "always excute"

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


3:try无异常,才会执行else

a=10b=0try:    c = b/ a    print cexcept (IOError ,ZeroDivisionError),x:    print xelse:    print "no error"print "done"

try ….except…else 语句,当没有异常发生时,else中的语句将会被执行。
else作用:没有else语句,当执行完try语句后,无法知道是没有发生异常,还是发生了异常并被处理过了。通过else可以清楚的区分开。

try:    正常的操作   ......................except:    发生异常,执行这块代码   ......................else:    如果没有异常执行这块代码

4:使用except而带多种异常类型,也可以使用相同的except语句来处理多个异常信息

try:    正常的操作   ......................except(Exception1[, Exception2[,...ExceptionN]]]):   发生以上多个异常中的一个,执行这块代码   ......................else:    如果没有异常执行这块代码

python所有的标准异常类


这里写图片描述
这里写图片描述


参考文献


Python 异常处理

(Python)异常处理try…except、raise

python try/except/finally