溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python的Try和Except怎么使用

發(fā)布時(shí)間:2023-05-04 09:53:36 來(lái)源:億速云 閱讀:88 作者:zzz 欄目:開(kāi)發(fā)技術(shù)

這篇“Python的Try和Except怎么使用”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Python的Try和Except怎么使用”文章吧。

try 塊允許您測(cè)試代碼塊以查找錯(cuò)誤。

except 塊允許您處理錯(cuò)誤。

finally 塊允許您執(zhí)行代碼,無(wú)論 try 和 except 塊的結(jié)果如何。

異常處理

當(dāng)我們調(diào)用 Python 并發(fā)生錯(cuò)誤或異常時(shí),通常會(huì)停止并生成錯(cuò)誤消息。

可以使用 try 語(yǔ)句處理這些異常:

實(shí)例

try 塊將生成異常,因?yàn)?x 未定義:

try:
  print(x)
except:
  print("An exception occurred")

運(yùn)行實(shí)例

Python的Try和Except怎么使用

由于 try 塊引發(fā)錯(cuò)誤,因此會(huì)執(zhí)行 except 塊。

如果沒(méi)有 try 塊,程序?qū)⒈罎⒉⒁l(fā)錯(cuò)誤:

實(shí)例

該語(yǔ)句將引發(fā)錯(cuò)誤,因?yàn)槲炊x x:

print(x)

多個(gè)異常

您可以根據(jù)需要定義任意數(shù)量的 exception 塊,例如,假如您要為特殊類(lèi)型的錯(cuò)誤執(zhí)行特殊代碼塊:

實(shí)例

如果 try 塊引發(fā) NameError,則打印一條消息,如果是其他錯(cuò)誤則打印另一條消息:

try:
  print(x)
except NameError:
  print("Variable x is not defined")
except:
  print("Something else went wrong")

運(yùn)行實(shí)例

Python的Try和Except怎么使用

Else

如果沒(méi)有引發(fā)錯(cuò)誤,那么您可以使用 else 關(guān)鍵字來(lái)定義要執(zhí)行的代碼塊:

實(shí)例

在本例中,try 塊不會(huì)生成任何錯(cuò)誤:

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

運(yùn)行實(shí)例

Python的Try和Except怎么使用

Finally

如果指定了 finally 塊,則無(wú)論 try 塊是否引發(fā)錯(cuò)誤,都會(huì)執(zhí)行 finally 塊。

實(shí)例

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")

運(yùn)行實(shí)例

Python的Try和Except怎么使用

這對(duì)于關(guān)閉對(duì)象并清理資源非常有用

實(shí)例

試圖打開(kāi)并寫(xiě)入不可寫(xiě)的文件:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Something went wrong when writing to the file")
finally:
  f.close()

運(yùn)行實(shí)例

Python的Try和Except怎么使用

程序可以繼續(xù),而且不會(huì)打開(kāi)文件對(duì)象。

引發(fā)異常

作為 Python 開(kāi)發(fā)者,您可以選擇在條件發(fā)生時(shí)拋出異常。

如需拋出(引發(fā))異常,請(qǐng)使用 raise 關(guān)鍵詞。

實(shí)例

假如 x 小于 0,則引發(fā)異常并終止程序:

x = -1
if x < 0:
  raise Exception("Sorry, no numbers below zero")

運(yùn)行實(shí)例

Python的Try和Except怎么使用

raise 關(guān)鍵字用于引發(fā)異常。

你能夠定義所引發(fā)異常的類(lèi)型、以及打印給用戶(hù)的文本。

實(shí)例

如果 x 不是整數(shù),則引發(fā) TypeError:

x = "hello"
if not type(x) is int:
  raise TypeError("Only integers are allowed")

運(yùn)行實(shí)例

Python的Try和Except怎么使用

以上就是關(guān)于“Python的Try和Except怎么使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI