0

我正在使用 ruby​​-debug 深入研究抛出并默默吃异常的代码。(代码在 gem 中,所以我不愿意在没有充分理由的情况下直接编辑它。)

我到了这一行:

   167        def catch_exceptions
   168          begin
   169            yield
   170          rescue Exception
=> 171            rollback
   172          end
   173        end
   174

由于第 170 行未定义为rescue Exception => e,因此没有声明异常对象。

有没有办法检查这个“隐式”异常对象?

4

1 回答 1

3

您可以使用全局变量访问最近的异常$!

我知道您并非总是有选择,但可以考虑修复宝石或使用其他宝石。在追踪异常时,这种包罗万象的方法真的很糟糕。

于 2012-05-22T06:48:29.170 回答