微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 为什么Twisted Manhole ConnectionDone是一个错误?

我正在使用扭曲的沙井(https:// github.com/HoverHell/pyaux/blob/master/pyaux/runlib.py#L126),我还将Twisted捕获的错误发送到 python日志记录(https:// github. COM / HoverHell / pyaux /斑点/主/ pyaux / twisted_aux.py#L9).

但是,结果,日志会出现ConnectionDone()错误,这不是一个非常有趣的错误.

什么是适当的改变,以避免得到这个(可能,其他一些)不完全错误?可能会过滤twisted.python.failure.Failure案件?从哪里来的ConnectionDone()甚至提出了,为什么?

解决方法

在连接关闭后,ConnectionDone()实例被赋予connectionLost()回调.当客户端决定关闭连接时,您应该看到这一点.
你绝对不想过滤失败.您可以将故障视为异常的“异步类比”.通常要做的事情,而不是看到某种例外是这样的:

from twisted.internet import error

...

def connectionLost(self,reason):
    if reason.check(error.ConnectionDone):
        # this is normal,ignore this
        pass
    else:
        # do whatever you have been doing for logging

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐