Ruby 有一个 fatal 异常,但没有关于如何对其进行 raise 的指导,我无法弄清楚。如何在 Ruby 中引发 fatal 异常?

最佳答案

你当然可以。

试试这个

FatalError = ObjectSpace.each_object(Class).find { |klass| klass < Exception && klass.inspect == 'fatal' }

然后
raise FatalError.new("famous last words")

这是如何运作的?
  • fatal 是一个内部类,没有关联的顶级常量
  • ObjectSpace.each_object(Class) 枚举所有类
  • find { ... } 查找名为“fatal”的异常类


  • 注意,尽管它的名字 fatal 并不特殊,但它可以被拯救。如果您正在寻找结束程序的方法,最好调用全局 exit 方法?
    begin
      raise FatalError.new
    rescue Exception => e
      puts "Not so fatal after all..."
    end
    

    关于ruby - 如何引发致命异常 ruby​​?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41518180/

    10-09 17:43