亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
Python 教程 / Try Except

Try Except

異常處理

當我們調用 Python 并發(fā)生錯誤或異常時,通常會停止并生成錯誤消息。

可以使用 try 語句處理這些異常:

實例

try 塊將生成異常,因為 x 未定義:

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

運行實例

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

如果沒有 try 塊,程序將崩潰并引發(fā)錯誤:

實例

該語句將引發(fā)錯誤,因為未定義 x:

print(x)

運行實例

多個異常

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

實例

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

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

運行實例

Else

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

實例

在本例中,try 塊不會生成任何錯誤:

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

運行實例

Finally

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

實例

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

運行實例

這對于關閉對象并清理資源非常有用:

實例

試圖打開并寫入不可寫的文件:

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

運行實例

程序可以繼續(xù),而且不會打開文件對象。

引發(fā)異常

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

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

實例

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

x = -1

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

運行實例

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

您能夠定義所引發(fā)異常的類型、以及打印給用戶的文本。

實例

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

x = "hello"

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

運行實例