您的位置:首页 > 编程语言 > Python开发

Python(4)--异常捕获及处理

2018-01-10 09:18 267 查看

异常

异常即非正常状态,在Python中使用异常对象来表示异常。若程序在编译或运行过程中发生错误,程序的执行过程就会发生改变,抛出异常对象,程序流进入异常处理。如果异常对象没有被处理或捕捉,程序就会执行回溯(Traceback)来终止程序。



捕获异常try...except...else...finally

def sum(num1,num2):
num3=None
try:
#num3 = num1/num2           #sum(2,'ssss')打印ssssssss和'+++++++++++++'
num3=int(num1)/int(num2)    #sum(2,'ssss')打印999999999和'+++++++++++++'
except ZeroDivisionError,ex:
print '00000000'
except TypeError:
print 'ssssssss'
except Exception,ex:
print '99999999'
else:
print 'REsss'
finally:
print '+++++++++++++'
return num3

#sum(2,0)
#sum(2,'ssss')
sum(2,1)


try的工作原理:
执行一个try语句时,python解析器会在当前程序流的上下文中作标记,当出现异常后,程序流能够根据上下文的标记回到标记位,从而避免终止程序。
1、如果try语句执行发生异常,程序流跳回标记位,并向下匹配执行第一个与该异常匹配的except子句,异常处理完后,程序流就通过整个try语句(除非在处理异常时引发新的异常)
2、如果没有找到except子句或指定同样异常类型Exception,来捕获所有异常,异常被递交到上层的try,实在没有找到时,程序将结束,并打印缺省的错误信息。
3、若没有发生异常,执行else语句
4、无论发生异常与否,均执行fianlly语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: