一. 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