我正在尝试使用 ruby 全局变量 $! 从我的 rails 应用程序访问最后一个 exception_message,但尽管在调用该变量之前发生了多个异常,它还是返回 nil。这在 rails 中不起作用吗?还有其他方法可以访问应用程序中引发的最后一个异常吗?
最佳答案
事实证明,$!不是那么全局化。它只适用于异常的调用堆栈 - 我想这是有道理的。
https://www.honeybadger.io/blog/working-with-ruby-exceptions-outside-of-the-rescue-block/
“这意味着 $! 在像 IRB 这样的 shell 中是非常无用的。通常在 IRB 中,我会运行一个方法并得到一个异常。有时我想获得那个异常对象。但是 $! 没有为此工作。”
关于ruby-on-rails - 使用 Ruby 全局变量处理异常 $!在 rails 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34193992/