如何在Twisted中提取失败条件

时间:2010-11-17 11:22:57

标签: twisted

在我的程序中,我有处理所有错误的方法。像这样的东西

def _processError(self, failure):
    ''' Process various errors '''
    if isinstance(failure, Failure):
        error = failure.trap(SASLAuthError, StanzaError)
        if error == SASLAuthError:
            self.notifyObservers(error = 'authorization')
        elif error == StanzaError:
            self.notifyObservers(error = 'subscription')

我需要实现有关失败(条件)的更具体信息。一种方法是调用getErrorMessage并解析一个字符串。但这并不是很好,因为可能会在Twisted中更改错误格式。有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

你应该使用callback和errback链(使用help twisted.internet.defer模块)来处理使用twisted编程时的错误条件。