我相信在大多数情况下,当异常发生时,它们确实发生在对象周围,由于尝试调用对象上的方法,或者它们发生在执行属于某个对象的某个方法的某些代码时。
我如何从给定的Exception
实例中知道这个对象?
例子
begin
....
rescue ActiveRecord::SerializationTypeMismatch => e
object = e.some_method_which_will_return_active_record_object
rescue => e
object = e.get_me_object_around_which_this_happened
end
在我的特殊情况下,我想知道发生了哪个 AR 对象 SerializationTypeMismatch。
在这种情况下,我对 e.message 或 backtrace 不感兴趣,我也检查了 e.methods,但没有找到知道关联对象的方法。