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

Rea*_*nly 2 ruby exception

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

begin
  # do something
rescue
  puts "Exception!"
end
Run Code Online (Sandbox Code Playgroud)

Mar*_*off 7

根据我的Programming Ruby 1.9的副本,

没有参数的rescue子句被视为具有参数StandardError.

这是来自ruby-doc.org的文档:

默认情况下,rescue 只有截取StandardError及其后代,但您可以指定要处理的异常作为参数.(当rescue 在语句修饰符位置时,此技术不起作用 .)

如果您需要引用它,那么为什么Not Wiki 可以使用Exception层次结构.

作为快速参考,非派生的Exception类StandardError是:

  • fatal
  • NoMemoryError
  • ScriptError
  • SignalException
  • SystemExit
  • SystemStackError