【发布时间】:2010-05-01 01:19:24
【问题描述】:
当您不指定这样的异常类时,您会捕获哪些异常:
begin
# do something
rescue
puts "Exception!"
end
【问题讨论】:
当您不指定这样的异常类时,您会捕获哪些异常:
begin
# do something
rescue
puts "Exception!"
end
【问题讨论】:
根据我的Programming Ruby 1.9副本,
没有参数的救援子句被视为具有参数
StandardError。
这是来自ruby-doc.org的文档:
默认情况下,
rescue仅拦截StandardError及其后代,但您可以指定要处理的异常作为参数。 (当rescue位于语句修饰符位置时,此技术不起作用。)
Why Not Wiki has the Exception hierarchy available 如果您需要参考。
作为快速参考,不是从StandardError 派生的异常类是:
fatalNoMemoryErrorScriptErrorSignalExceptionSystemExitSystemStackError【讨论】:
LoadError、NotImplementedError、SyntaxError。