当您未指定如下的异常类时,您会捕获哪些异常:
begin
# do something
rescue
puts "Exception!"
end
答案 0 :(得分:7)
根据我的 Programming Ruby 1.9 的副本,
没有参数的救援条款被视为具有
StandardError
的参数。
以下是ruby-doc.org的文档:
默认情况下,
rescue
仅截取StandardError
及其后代,但您可以指定要处理的异常作为参数。 (当rescue
处于语句修饰符位置时,此技术不起作用。)
为什么不是Wiki has the Exception hierarchy available,如果你需要引用它。
作为快速参考,非StandardError
派生的异常类是:
fatal
NoMemoryError
ScriptError
SignalException
SystemExit
SystemStackError