我如何在 Python 中手動丟擲/引發異常?


我們使用最符合我們具體問題的最具體的異常建構函式,而不是引發通用的異常。要捕獲我們特定的異常,我們必須捕獲對其進行子類化的所有其他更具體的異常。

我們應該引發特定異常並處理相同的特定異常。

要引發特定異常,我們使用如下 raise 語句。

示例

import sys
try:
f = float('Tutorialspoint')
print f
raise ValueError
except Exception as err:
print sys.exc_info()

輸出

我們得到以下輸出

(<type 'exceptions.ValueError'>, ValueError('could not convert string to float: Tutorialspoint',), <traceback object at 0x0000000002E33748>)

我們甚至可以引發具有如下例所示引數的錯誤

示例

try:
raise ValueError('foo', 23)
except ValueError, e:
print e.args

輸出

我們得到以下輸出

('foo', 23)

更新於: 2020 年 2 月 12 日

192 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始
廣告