【问题标题】:Ruby rescue all exceptions except MyExceptionRuby 拯救除 MyException 以外的所有异常
【发布时间】:2011-06-15 08:36:36
【问题描述】:

在 Ruby 中,是否可以挽救除指定异常之外的所有异常?

【问题讨论】:

    标签: ruby exception-handling


    【解决方案1】:

    在不了解您的问题的情况下,我建议 Ken Bloom 的答案。

    不过,我想了解更多关于你为什么这样做的信息。

    您是否担心一个非常严重的异常,并且不想拯救那个,但允许拯救不太严重的异常?

    在这种情况下,我会让我的自定义异常继承自 Exception 而不是 StandardError 然后拥有

    begin
      do_risky_stuff
    rescue # Not rescue Exception
      handle_less_serious_stuff
    end
    

    【讨论】:

      【解决方案2】:
      begin
      
      rescue MyException
        raise #to reraise the same exception without changing it
      rescue Exception => e
        #do something with e
      end
      

      【讨论】:

        【解决方案3】:

        不是这样的。但是如果它是 MyException,您可以挽救所有异常并重新引发异常。

        【讨论】:

        猜你喜欢
        • 2013-06-28
        • 2018-11-27
        • 2017-01-30
        • 2012-07-12
        • 2012-07-31
        • 1970-01-01
        • 2020-12-15
        • 1970-01-01
        • 2010-10-07
        相关资源
        最近更新 更多