我发现这允许在异常时中断。
但是,我想要的是打破警告。这是我收到的警告,如果报告此警告或另一个警告在此时中断,我希望如此。
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/