【问题标题】:Twisted: how to get error parameters from failure?Twisted:如何从失败中获取错误参数?
【发布时间】:2012-01-01 04:35:57
【问题描述】:

我有一段代码:

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

【问题讨论】:

    标签: python twisted deferred custom-errors


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-07-24
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      • 2022-01-04
      • 2011-11-07
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      相关资源
      最近更新 更多