2011-11-18 74 views
2

我有一段代码:扭曲:如何从错误中获取错误参数?

from twisted.web.client import getPage 
from twisted.internet import reactor 

class TestError(Exception): 
    def __init__(self, message): 
     self.message = message 
    def __repr__(self): 
     return 'TestError' 

def gotPage(response): 
    print response 
    reactor.stop() 

def gotErr(failure): 
    raise TestError('This is error') 

def newEb(failure): 
    try: 
     failure.raiseException() 
    except TestError as te: 
     print te.message 
    reactor.stop() 

if __name__ == '__main__': 
    deferred = getPage('http://somebadpage.net', method='GET') 
    deferred.addCallback(gotPage) 
    deferred.addErrback(gotErr) 
    deferred.addErrback(newEb) 
    reactor.run() 

的方式是在newEb呈现给提取失败误差参数的唯一途径? 当我使用failure.trap或failure.check时,我无法收到错误实例。

回答

1

如果通过错误参数您的意思是例外情况,然后Failure.value