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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM