簡介
- 程序運行時,如果遇到錯誤會停止程序執(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ù)。