gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:51 25 4
gpt4 key购买 nike

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

但是,结果是日志出现 ConnectionDone() 错误,作为一个错误,这不是一件很有趣的事情。

为了避免出现这个(以及可能的其他一些)不完全错误,应该进行哪些更改?过滤 twisted.python.failure.Failure 情况,也许? ConnectionDone() 甚至从哪里引发,为什么?

最佳答案

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

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

关于python - 为什么 Twisted Manhole ConnectionDone 是一个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14529630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com