Rubyで無効なYAMLデータの読み込みを処理しようとしていますが、psychによって発生した例外を救うことができないようです。
これは、私が抱えている問題を示すためのサンプルコードです。
require 'yaml'
begin
YAML.load('&*%^*')
rescue
puts "Rescued"
end
そして例外:
# ruby test.rb
/usr/lib64/ruby/1.9.1/psych.rb:203:in `parse': (<unknown>): did not find expected alphabetic or numeric character while scanning an anchor at line 1 column 1 (Psych::SyntaxError)
from /usr/lib64/ruby/1.9.1/psych.rb:203:in `parse_stream'
from /usr/lib64/ruby/1.9.1/psych.rb:151:in `parse'
from /usr/lib64/ruby/1.9.1/psych.rb:127:in `load'
from test.rb:3:in `<main>'