我正在做一个使用ccxt异步库的项目,该项目要求通过显式调用类的.close()协程来释放某个类使用的所有资源。我想用ctrl+c退出程序,并等待异常中的关闭协程。然而,它永远不会被期待。我尝试在每个级别捕获异常,但close例程从未被等待过。我更喜欢在主模块中捕获它,以便关闭所有的exchange实例。self.currency)
while True:
更新:异步只需执行它被告知的操作,您就可以很好地处理这些异常--请参阅我标记为问题解决方案的后续答案。下面是最初的问题,并以稍加修改的例子来澄清这个问题及其解决方案。我一直在尝试调试一个在很大程度上依赖于异步的库。在编写一些示例代码时,我意识到有时执行键盘中断(CTRL)(很少!)引发了可怕的..。Task exception was never retrieved
我一直在努力确保我派生的所有任务
嗨,我现在正在做这样的节目。): a = Atom() # Here i want to print the error that was raised
我认为我理解的是,错误是在Atom()中创建的对象中引发的。但是我想把它发送到我的主程序,并在那里打印错误MyError。是否可以这样做,以及如何编写它,以便打印正确的异常文本,因为我将有几个不同的错误信息。如