10-Python之路-進階-異常

簡介

  • 程序運行時,如果遇到錯誤會停止程序執(zhí)行,并且報錯,這就是異常。程序停止執(zhí)行并且提示錯誤信息這個動作,稱之為:拋出(raise)異常

捕獲異常

  • 在程序開發(fā)中,如果對某些代碼的執(zhí)行不能確定是否正確,可以增加try(嘗試)來捕獲異常

語法格式

try:
    嘗試執(zhí)行的代碼
except:
    出現(xiàn)錯誤的處理
  • try:嘗試,下方編寫要嘗試的代碼,不確定是否能夠正常執(zhí)行的代碼
  • except:如果不是,下方編寫嘗試失敗的代碼

錯誤類型捕獲

  • 在程序執(zhí)行時,可能會遇到不同類型的異常,并且需要針對不同類型的異常,做出不同的響應(yīng),就需要捕獲錯誤類型
  • 當(dāng)Python解釋器拋出異常時,最后一行錯誤信息的第一個單詞,就是錯誤類型

語法格式

try:
    # 嘗試執(zhí)行的代碼
    pass
except 錯誤類型1:
    # 針對錯誤類型2和3,對應(yīng)的代碼處理
    pass
except Exception as result:
    print("未知錯誤 %s" % result)

捕獲未知錯誤

  • 希望程序無論出現(xiàn)任何錯誤,都不會因為拋出異常而被終止,可以再增加except

異常捕獲完整語法

try:
    # 嘗試執(zhí)行代碼
    pass
    
except 錯誤類型1:
    # 針對錯誤類型1,對應(yīng)的代碼處理
    pass
except 錯誤類型2:
    # 針對錯誤類型1,對應(yīng)的代碼處理
    pass
except (錯誤類型3,錯誤類型4):
    # 針對錯誤類型3和4,對應(yīng)代碼進行處理
    pass
except Exception as result:
    # 打印錯誤信息
    print(result)
else:
    # 沒有異常才會執(zhí)行的代碼
    pass
finally:
    # 無論是否有異常,都會執(zhí)行的代碼
    print("無論是否有異常都會執(zhí)行的代碼")
    

異常的傳遞

  • 當(dāng)函數(shù)或方法執(zhí)行出現(xiàn)異常,會將異常傳遞給函數(shù)或方法的調(diào)用一方。如果傳遞到主程序,仍然沒有處理異常,程序才會被終止

拋出(raise)異常

  • 在開發(fā)中,如果滿足特定業(yè)務(wù)需求時,希望拋出異常,可以:創(chuàng)建一個Exception的對象,使用raise關(guān)鍵字拋出異常對象
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容