2013-12-20 27 views
0

當我使用新的圖書館,我發現我可以這樣做如何引發庫特定錯誤?

try: 
    # all code not shown... 
    socket.connect(()) 
except socket.error: 
    print "found an error!" 

在上面的例子中,它是套接字庫。我將如何去做同樣的事情,但爲我自己的圖書館?

所以在我的課,我希望能夠

def checkLen(self): 

    if self.len > 1000: 
     raise MyErrors.LEN_TOO_LONG 

    return self.len 

,並在調用者...

try: 
    object.checkLen() 
except MyErrors.LEN_TOO_LONG: 
    print "error found, the length was too long!" 

回答

3

通過從BaseException或合適的兒童獲得。

class LenTooLongError(ValueError): 
    pass 
+0

因此,我必須爲每種類型的錯誤創建一個新類,我想要嗎? – user791953

+0

每個異常類型都是一個離散的異常類型。 –

+0

有趣......然後我應該子類錯誤,然後創建子類,但具有適當的名稱的類? – user791953