有没有一种方法可以获取导致异常的原因的列表/链
所以我可以只打印该列表,而不必追溯完整的记录
像traceback.print_exception
一样?
用例是不要在错误时转储完整的堆栈跟踪,而是列出 导致足够多且更有意义的原因。
类似的东西:
MyError: Error occurred doing XYZ
homeassistant_cli.exceptions.HomeAssistantCliError: Error connecting to http://localhost:8123/api/discovery_info
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8123): Max retries exceeded with url: /api/discovery_info (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x106562e80>: Failed to establish a new connection: [Errno 61] Connection refused'))
而不是有时几个线程弹出屏幕。
我尝试遍历python __cause__
链,但是看着traceback.print_exception
似乎有很多特殊情况要处理。