首页 > 解决方案 > 配置 pyCLI 装饰器以正确地重新引发异常

问题描述

我正在尝试使用 pyCLI @cli.log.LoggingApp 装饰器来创建 CLI 应用程序。虽然它是正确的,但如果代码中的某些内容引发异常,我只会收到“RuntimeError: No active exception to reraise”错误。如果我删除装饰器,则会正确报告异常。

通过文档,我应该能够向装饰器添加类似“reraise =(BaseException)”的内容,以告诉它通过所有异常,但我似乎无法让它工作。

有人可以为我提供一个使用 pyCLI 装饰器的工作示例,该装饰器允许异常在未被代码捕获时通过吗?

我正在尝试的完整装饰器是:

@cli.log.LoggingApp(name="program_name", description="Program Short Description",
   date_format='%Y-%m-%d %H:%M:%S', message_format='%(asctime)s | %(filename)s | %(message)s',
   reraise=(BaseException))

标签: python

解决方案


终于有时间深入研究代码了。发生这种情况是因为 pyCLI 模块试图从不同的范围重新引发异常。这是模块中的一个错误。我正在向作者提交补丁。


推荐阅读