Can't rescue YAML.load exception
我正在尝试处理在Ruby中加载无效的YAML数据,但似乎无法挽救心理引发的异常。
这是一些示例代码,用于演示我遇到的问题:
1 2 3 4 5 6 | require 'yaml' begin YAML.load('&*%^*') rescue puts"Rescued" end |
例外情况:
1 2 3 4 5 6 | # 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>' |
1 | SyntaxError < ScriptError < Exception |
不带参数的
1 | StandardError < Exception |
因此,如果要从
请参阅开始救援未捕获错误。 可以挽救语法错误,但不推荐。 这就是为什么你需要跳过输入"