異常處理
當(dāng)發(fā)生錯(cuò)誤(或我們稱之為異常)時(shí),Python 通常會(huì)停止執(zhí)行并生成錯(cuò)誤消息。
try 塊用于測試一段代碼是否存在錯(cuò)誤。
except 塊用于處理錯(cuò)誤。
else 塊用于在沒有錯(cuò)誤時(shí)執(zhí)行代碼。
finally 塊用于無論 try 和 except 塊的結(jié)果如何都要執(zhí)行的代碼。
可以使用 try 語句來處理這些異常:
try:
print(x)
except:
print("發(fā)生了一個(gè)異常")
由于 try 塊引發(fā)了一個(gè)錯(cuò)誤,因此將執(zhí)行 except 塊。
如果沒有 try 塊,程序?qū)⒈罎⒉⒁l(fā)錯(cuò)誤:
print(x)
多個(gè)異常
您可以定義盡可能多的異常塊,例如,如果要為特定類型的錯(cuò)誤執(zhí)行特殊的代碼塊:
try:
print(x)
except NameError:
print("變量 x 未定義")
except:
print("其他錯(cuò)誤")
else
您可以使用 else 關(guān)鍵字來定義一段代碼,該代碼塊將在沒有錯(cuò)誤引發(fā)時(shí)執(zhí)行:
try:
print("Hello")
except:
print("出現(xiàn)了錯(cuò)誤")
else:
print("沒有出錯(cuò)")
finally
如果指定了 finally 塊,不管 try 塊是否引發(fā)錯(cuò)誤,都將執(zhí)行該塊:
try:
print(x)
except:
print("發(fā)生了錯(cuò)誤")
finally:
print("'try except' 完成了")
這對(duì)于關(guān)閉對(duì)象和清理資源非常有用:
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("寫入文件時(shí)出錯(cuò)")
finally:
f.close()
except:
print("打開文件時(shí)出錯(cuò)")
程序可以繼續(xù)運(yùn)行,而不會(huì)保持文件對(duì)象處于打開狀態(tài)。
引發(fā)異常
作為 Python 開發(fā)人員,您可以選擇在發(fā)生條件時(shí)引發(fā)異常。
要引發(fā)(或觸發(fā))異常,請(qǐng)使用 raise 關(guān)鍵字。
x = -1
if x < 0:
raise Exception("抱歉,不能小于零")
raise 關(guān)鍵字用于引發(fā)異常。
您可以定義要引發(fā)的錯(cuò)誤類型以及要顯示給用戶的文本:
x = "hello"
if not type(x) is int:
raise TypeError("只允許整數(shù)")
最后
為了方便其他設(shè)備和平臺(tái)的小伙伴觀看往期文章:
微信公眾號(hào)搜索:Let us Coding
,關(guān)注后即可獲取最新文章推送文章來源:http://www.zghlxwxcb.cn/news/detail-741784.html
看完如果覺得有幫助,歡迎 點(diǎn)贊、收藏、關(guān)注文章來源地址http://www.zghlxwxcb.cn/news/detail-741784.html
到了這里,關(guān)于Python 異常處理:try、except、else 和 finally 的使用指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!