【问题标题】:How to make pycharm break on My Exceptions [duplicate]如何使 pycharm 打破我的例外 [重复]
【发布时间】:2011-10-02 08:36:05
【问题描述】:

可能重复:
break on unhandled exception in pycharm

我是 Python 新手,我正在尝试使用 PyCharm 1.5 调试我的第一个 Python 程序。 当我的代码(并且仅在我的代码中)发生异常时,我希望调试器中断。

目前情况如下:我使用 (Ctrl + Shift + F8 ) 对话框来配置调试器,如果我设置 Suspend All = trueAll exceptions = true然后调试器经常中断,例如,它在 PyCharm 1.5.1\helpers\pydev\pydevd.py 中的某个地方中断,每次都跳过这很烦人。如果我设置任何其他选项,那么即使我的代码中发生异常,调试器也不会中断。

PS:顺便说一句,如果我只是跳过 PyCharm 1.5.1\helpers\pydev\pydevd.py 中的中断,那么执行将继续,而不会出现明显的错误。所以我完全不明白为什么它会坏

【问题讨论】:

  • 如果您在这里没有得到答案,可能值得在the Pycharm issue tracker 提出问题。这看起来可能是一个错误。 Pycharm 可能不应该在自己的代码中打破异常。
  • 好的,谢谢你的建议,如果我发现了什么,我会在这里发帖
  • 在任何位置添加调试器点是否有效?

标签: python debugging pycharm


【解决方案1】:

将异常与来自库的异常区分开来的一种方法是让它们派生自自定义类,例如如果你的模块叫做 Foo,你可以有

class FooException(Exception):
   pass

并且有更具体的例外来自于此:

class MyMathException(FooException):
   # etc.

然后,在 PyCharm 中,不要启用 All Exceptions,而是将 FooException 添加到要中断的异常列表中。

【讨论】:

  • 我同意你的说法,但通常不是我提出异常
  • 哦。不过,我现在很困惑,您说“当我的代码(并且仅在我的代码中)发生异常时。”
  • 是的,例如,如果我调用缺少的方法,那么我的代码中就会发生异常,但不是我抛出异常
猜你喜欢
  • 2019-10-23
  • 1970-01-01
  • 2018-05-17
  • 2013-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
  • 1970-01-01
相关资源
最近更新 更多