2013-07-23 21 views
6

,Exception是從BaseExceptions派生的,我應該將它用於用戶定義的異常。所以我有:我得到「TypeError:異常必須從BaseException派生」,即使我根據python文檔定義它

class VisaIOError(Exception): 

    def __init__(self, error_code): 
     abbreviation, description = _completion_and_error_messages[error_code] 
     Error.__init__(self, abbreviation + ": " + description) 
     self.error_code = error_code 

而且

raise(visa_exceptions.VisaIOError, status) 

,但我得到(引用片段):

File "C:\Python32\Lib\site-packages\pyvisa\vpp43.py", line 400, in check_status 

    raise(visa_exceptions.VisaIOError, status) 
    TypeError: exceptions must derive from BaseException 

注:我從蟒蛇27將代碼轉換爲32

回答

4

我必須這樣做:

raise visa_exceptions.VisaIOError(status) 
+2

是的。你試圖提出一個元組:'(visa_exceptions.VisaIOError,status)'。這就是'TypeError'出現的地方。 – kindall

相關問題