python Eclipse - 如何在警告时中断/暂停?

标签 python eclipse debugging pydev

我发现这允许在异常时中断。

Break on exception in pydev

但是,我想要的是打破警告。这是我收到的警告,如果报告此警告或另一个警告在此时中断,我希望如此。

RuntimeWarning: invalid value encountered in double_scalars  yv = Nv(v, U*r)/Nv(v, U*r_)

提前致谢。

最佳答案

与与多种流量控制机制相关的异常不同,警告只是输出到控制台的文本 - 更准确地说,输出到 stderr :

因此,中断警告的一种可能方法是拦截对 stderr 的调用:

class MyStderr(object):
    def __init__(self, original_stderr):
        self.original_stderr= original_stderr
    def my_break(self):
        import pdb; pdb.set_trace()
    def write(self,*args, **kwargs):
        self.my_break()
        #...
    def writelines(self,*args, **kwargs):
        self.my_break()
        #...
    #...
import sys
sys.stderr= MyStderr(sys.stderr)

这应该启动交互式pdb调试器。

关于python Eclipse - 如何在警告时中断/暂停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22074290/

相关文章:

java - Eclipse:启用断言

eclipse - Eclipse 中的 CakePHP .ctp 语法高亮显示

c++ - 跳过 GDB 中的 C++ throw 语句

python - 无需中间体的 Numpy 索引

python - 无法理解 numpy argpartition 输出

python - 如何在 Django 中使用多个嵌套字段覆盖序列化程序中的创建方法?

java - Maven Shade 插件 - NoClassDefFounderror

c++ - 将基于 Mingw32 的代码移植到 msvc2008

java - 变量和运算符在赋值中似乎被忽略。什么可以使这一切发生?

python - 运行时错误 : CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasSgemm( handle)` with GPU only