有没有办法在代码抛出异常时启动/ Ruby调试器,而不是像这样包装代码:
begin
#do something
rescue
debugger
end
我想以这样一种方式使用它:如果do something
部分引发异常,调试器将启动。如果不必修改代码来添加全部的救援块,那将是很好的。
答案 0 :(得分:6)
答案 1 :(得分:4)
答案 2 :(得分:3)
require 'ruby-debug'
class Exception
alias original_initalize initialize
def initialize(*args)
original_initalize(*args)
debugger
end
end
这将运行原始异常以及调用调试器
答案 3 :(得分:2)
如果你正在使用ruby-debug(它看起来像你),你可以为你想要的异常设置catchPoints。
(rdbg) catch Exception
例如
答案 4 :(得分:2)
在RubyMine 2.0.x中,转到Run - >查看断点并单击“Ruby Exception Breakpoints”选项卡,然后添加您感兴趣的异常类型...
我想在NetBeans和其他Ruby IDE中应该有类似的东西。
BTW,RubyMine是最好的!