当你没有在ruby中指定exception类时,你会遇到哪些exception?
当您未指定如下的exception类时,您会捕获哪些exception:
begin # do something rescue puts "Exception!" end
根据我的Programming Ruby 1.9的副本,
不带参数的rescue子句被视为具有
StandardError
参数。
这是来自ruby-doc.org的文档:
默认情况下,
rescue
仅拦截StandardError
及其后代,但您可以指定要处理的exception作为参数。 (当rescue
处于语句修饰符位置时,此技术不起作用。)
如果您需要引用它,那么Why Not Wiki 可以使用Exception层次结构 。
作为快速参考,不是从StandardError
派生的Exception类是:
-
fatal
-
NoMemoryError
-
ScriptError
-
SignalException
-
SystemExit
-
SystemStackError