python 基础 6.2 raise 关键字使用
一. raise 关键字
raise 用来触发异常
语法如下:
raise[Exception [,args [,traceback]]]
语句中Exception 是异常的类型(例如:NameError)参数是一个异常参数值。改参数是可选的。如果不提供,异常的参数是“None”。最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
1》示例 #raise 抛出异常,print 是打印出来
try:
a = 10
b = 0
print a/b
except Exception as e:
print e
raise e
else:
print 'ok'
finally:
print 'End'
>>>
integer division or modulo by zero // print 打印异常
End
Traceback (most recent call last):
File "F:/Գ��python�ű�/�쳣/raise �ؼ���.py", line 13, in <module>
raise e
ZeroDivisionError: integer division or modulo by zero //raise 抛出异常,程序终止了
2》 raise 抛出异常后,还会执行finall,无论这个程序时对的还是错误的,在逻辑上最后都会执行finally。然后 raise 抛出异常后,程序就会终止,不会再打印最后的 print ‘这是一个异常’
try:
a = 10
b = 0
print a/b
except Exception as e:
print e
raise e //抛出异常程序终止
else:
print 'ok'
finally:
print 'End'
print '这是一个异常' //不会再执行此处
>>>
integer division or modulo by zero
Traceback (most recent call last):
End
File "F:/Գ��python�ű�/�쳣/raise �ؼ���.py", line 13, in <module>
raise e
ZeroDivisionError: integer division or modulo by zero