当你没有在ruby中指定异常类时,你会遇到哪些异常?

时间:2010-05-01 01:19:24

标签: ruby exception

当您未指定如下的异常类时,您会捕获哪些异常:

begin
  # do something
rescue
  puts "Exception!"
end

1 个答案:

答案 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