【问题标题】:How to catch exceptions in twisted?如何在扭曲中捕获异常?
【发布时间】:2012-02-01 17:41:33
【问题描述】:

我正在使用 Twisted 在 Python 中运行一个非常简单的服务器。当我尝试同时运行两个时,会发生此异常:

twisted.internet.error.CannotListenError: Couldn't listen on 127.0.0.1:5050: [Errno 98] Address already in use.

这很有意义。我怎样才能捕捉到这个异常?

如果现有服务器正在运行,我只想终止反应器并关闭一切。否则,我会得到异常,它会无限期地挂起,直到我终止进程。

【问题讨论】:

    标签: python twisted


    【解决方案1】:

    您需要使用 Twisted 术语中的 error handler callbackerrBack。您可以使用addErrback 方法将一个添加到Deferred

    【讨论】:

    • 我如何获得延迟附加到?是否有延迟的主循环让我附加到?
    • 异常出现在哪里?如果它出现在 reactor.run() 方法中,则不会延迟附加 errback,但应该执行 except 块 。你的代码是什么?
    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 2011-04-03
    • 2021-03-26
    • 2013-09-04
    相关资源
    最近更新 更多