2014-11-23 12 views
-1

我使用以下異常:如何通過STATUS_CODE,ERROR_MESSAGE在異常

class MyApplicationPaymentError(Exception): 
    pass 

不過,我希望能夠到STATUS_CODE和ERROR_MESSAGE傳遞給它。所以我可以做到以下幾點:

try: 
    payment.validate() 
except MyApplicationPaymentError: 
    print '!!!', status_code, error_message 

我該如何修改異常,然後通過視圖代碼來完成上述操作?

+1

看一看:https://docs.python.org/2/tutorial/errors.html#user-defined-exceptions – BorrajaX 2014-11-23 17:14:53

回答

5
>>> class MyApplicationPaymentError(Exception): 
... def __init__(self, statuscode, errormessage): 
...  self.statuscode = statuscode 
...  self.errormessage = errormessage 
... 
>>> try: 
... raise MyApplicationPaymentError(418, "I'm a Teapot") 
... except MyApplicationPaymentError as e: 
... print(e.statuscode, e.errormessage) 
... 
418 I'm a Teapot