我有Ruby功能,如下所示:
module MyModule
def function
raise ArgumentException if true
end
end
然后,我在另一个嵌套函数中使用此函数,就像
一样def upperfunction
MyModule::function
end
所以,如果我在irb中调用upperfunction,我想看到像
这样的完整跟踪第2行upperfunction.rb
第3行my_module.rb
引发ArgumentError
但我只得到
第3行my_module.rb
引发ArgumentError
我该怎么做才能看到完整的痕迹?
答案 0 :(得分:4)
试试$@
。它包含最后一个异常的回溯(最后一个异常对象在$!
中)。
另一种解决方案是使用更好的ruby shell pry,您可以在其中看到wtf!
命令的回溯(感叹号越多,将显示越多的回溯)