【问题标题】:Which exceptions do you catch when you don't specify an exception class in ruby?当您没有在 ruby​​ 中指定异常类时,您会捕获哪些异常?
【发布时间】:2010-05-01 01:19:24
【问题描述】:

当您不指定这样的异常类时,您会捕获哪些异常:

begin
  # do something
rescue
  puts "Exception!"
end

【问题讨论】:

    标签: ruby exception


    【解决方案1】:

    根据我的Programming Ruby 1.9副本,

    没有参数的救援子句被视为具有参数StandardError

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

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

    Why Not Wiki has the Exception hierarchy available 如果您需要参考。

    作为快速参考,不是从StandardError 派生的异常类是:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 2019-11-19
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    相关资源
    最近更新 更多