【问题标题】:exceptions/traceback not showing after importing qgis-utils导入 qgis-utils 后未显示异常/回溯
【发布时间】:2014-12-16 14:19:51
【问题描述】:

question 开始,我询问了如何从python-qgis 获取版本信息,@falsetru 提供了一个出色的解决方案,我遇到了一个问题,即导入qgis.utils 似乎隐藏了所有异常。在解释器中运行以下代码,我没有得到任何回溯,或者在引发异常后有任何有用的信息,见下文。

>>> import qgis.utils
>>> qgis.utils.QGis.QGIS_VERSION
'2.4.0-Chugiak'
>>> raise Exception('boof!')
>>>

有人能告诉我如何在导入qgis-utils 或从python-qgis 获取版本信息而不需要导入utils 的其他方式后打开回溯吗?

非常感谢!

【问题讨论】:

  • 你试过traceback模块吗?如果不导入回溯并使用 traceback.print_exc 或 ... 之类的函数。
  • 恐怕我对traceback 模块没有太多经验。我尝试按照您的建议运行traceback.print_exc(),但没有成功。我将阅读该模块。我也注意到了警告模块。会不会也和这个有关?
  • 可能是的。也许您导入过滤警告的模块使用warnings 模块。
  • 看来我可以使用qgis.core.QGis.QGIS_VERSION 来获取版本信息,所以我毕竟不需要使用utils。然而,这仍然是一个问题,我将继续研究。

标签: python exception qgis traceback


【解决方案1】:

我找到了一个解决方案,它可以让我避免使用utils 模块来获取版本信息,而是使用core 模块。

>>> import qgis.core
>>> qgis.core.Qgis.QGIS_VERSION
'2.4.0-Chugiak'
>>> raise Exception('boof!')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
Exception: boof!

这并没有为我的问题提供完整的答案,但确实提供了一种解决方法来获取 python-qgis 的版本信息。

【讨论】:

    猜你喜欢
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 2017-10-19
    • 2015-06-06
    • 1970-01-01
    相关资源
    最近更新 更多