当您不指定这样的异常类时,您会捕获哪些异常:
begin
# do something
rescue
puts "Exception!"
end
根据我的副本Ruby 编程 1.9,
不带参数的救援子句被视为具有参数StandardError
.
这是来自的文档ruby-doc.org http://ruby-doc.org/docs/keywords/1.9/files/keywords_rb.html#M000030:
默认情况下,rescue
只拦截StandardError
及其后代,但您可以指定要处理的异常作为参数。 (此技术在以下情况下不起作用rescue
处于语句修饰符位置。)
为什么不维基是否有可用的异常层次结构 http://whynotwiki.com/Ruby_/_Exception_handling#Exception_hierarchy如果您需要参考它。
作为快速参考,不是派生自的 Exception 类StandardError
are:
fatal
NoMemoryError
ScriptError
SignalException
SystemExit
SystemStackError
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)