代码之家  ›  专栏  ›  技术社区  ›  vinibrsl

rescue=>e捕获了什么类型的异常?

  •  1
  • vinibrsl  · 技术社区  · 6 年前

    在Ruby中,可以使用 rescue => e ,而不显式传递任何类型的异常,例如 rescue CustomException => e .

    我可以看出,它并没有捕捉到每一个异常,因为:

    def foo
      foo
    rescue => e
      puts "It never reaches this block"
    end
    
    foo
    

    这个无限循环永远不会被捕获,它会引发一个 SystemStackError .

    什么类型的异常 救援=>e 捕获?