せんせいしつもんです。
例外のメッセージと同じような感じで、任意のオブジェクトを持ち出すことはできますか?

def main
 begin
  action1
  action2 # メソッドのすげえ深部でエラーErrorAtAct2が起こる
  action3
 rescue ErrorAtAct2
  # 「action2深部でエラーを起こしたときのハッシュデータを利用して別の処理をしてエラー回復」
 end
end

ということをしたいです。
例外を起こしたメソッドの中でならハッシュデータにアクセスはできるんですが、
できればここのmainメソッドでまとめてエラー回復処理を書きたいです。
例外メッセージにハッシュを出力するとハッシュへの復元がなんだか面倒です。