我如何在 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)
廣告