|
|
||
YAML.dumpされた中にはちゃんとメッセージが入ってるのに復元されないと思ったら、@mesgというインスタンス変数に入ってしまっていた。
require 'yaml' yaml = YAML.dump(StandardError.new('hoge')) p yaml #=> "--- !ruby/exception:StandardError \nmessage: hoge\n" e = YAML.load(yaml) p e.message #=> "StandardError" y e #=> # --- !ruby/exception:StandardError # message: StandardError # mesg: hoge p e.instance_eval { @message } #=> nil p e.instance_eval { @mesg } #=> "hoge"