Skip to main content
 首页 » 编程设计

python之Twisted:如何从失败中获取错误参数

2025年05月04日10softidea

我有一段代码:

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 时,我无法接收到错误实例。

请您参考如下方法:

如果错误参数是指异常实例,则Failure.value。