【发布时间】:2013-12-27 14:48:06
【问题描述】:
我遇到了这个示例代码作为 Ruby 中异常处理的习惯用法:
begin
eval string
rescue SyntaxError, NameError => boom
print "String doesn't compile: " + boom
rescue StandardError => bang
print "Error running script: " + bang
end
我对局部变量赋值行感到特别困惑,但有多个例外:
rescue SyntaxError, NameError => boom。这是否意味着本地变量boom 将采用SyntaxError 或NameError 对象?还是只是分配的NameError?
这更令人困惑,因为代码本身会抛出 TypeError,我想可能是因为 string 未定义,但这可能不是重点。
【问题讨论】:
标签: ruby exception-handling variable-assignment