我正在使用ruby-debug来深入研究抛出异常的代码。 (代码在宝石中,所以我不愿直接编辑它而没有一个很好的理由。)
我到了这一行:
167 def catch_exceptions
168 begin
169 yield
170 rescue Exception
=> 171 rollback
172 end
173 end
174
由于第170行未定义为rescue Exception => e
,因此没有声明异常对象。
有没有办法检查这个“隐式”异常对象?
答案 0 :(得分:3)
您可以使用全局变量$!
访问最新的异常。
我知道你并不总是有选择,但考虑修理宝石或使用不同的宝石。在追踪异常时,这种全能方法非常糟糕。