当前位置:  开发笔记 > 后端 > 正文

如何强制ruby显示完整的堆栈跟踪?

如何解决《如何强制ruby显示完整的堆栈跟踪?》经验,为你挑选了1个好方法。

我刚收到此错误消息:

...
from c:/ruby/lib/ruby/gems/1.8/gems/...
 ... 10 levels...
from c:/ruby/lib/ruby/gems/1.8/gems/...
...

并且bug(当然)隐藏在某处... 10 levels....

如何强制ruby显示完整的堆栈跟踪?



1> Željko Filip..:
begin
  # code that raises exception
rescue StandardError => e
  puts e.backtrace
end


@ChiragPatel,也许你想使用[Kernel#caller](http://www.ruby-doc.org/core-1.8.7/Kernel.html#method-i-caller).
如何在不捕获异常的情况下显示堆栈跟踪?正常运作,就是这样.
索尼桑托斯提到的内核#calller绝对是你想要的方式.它将返回一个字符串数组.您可以轻松地执行以下操作以在日志中获得整齐的堆栈跟踪:Rails.logger.info caller.join("\n")
默认情况下,救援处理**StandardError**not**Exception**.所以你应该拯救StandardError.请参阅https://robots.thoughtbot.com/rescue-standarderror-not-exception.
推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有