如何"忽略"抓住异常?

Rad*_*dek 8 ruby exception-handling

我使用rufus调度程序通过调用我的函数运行隔夜测试脚本.

有时我可以看到"调度程序捕获异常:"一条消息,它抛出了我的一些功能.然后调度程序停止执行以下测试用例.

我怎样才能使调度程序运行所有测试用例而不管是否捕获到任何异常?

Ser*_*sev 12

这被称为"异常吞咽".您拦截异常并且不对其执行任何操作.

begin
  # do some dangerous stuff, like running test scripts
rescue => ex
  # do nothing here, except for logging, maybe
end
Run Code Online (Sandbox Code Playgroud)

如果您不需要对异常执行任何操作,则可以省略=> ex:

begin
  # do some dangerous stuff, like running test scripts
rescue; end
Run Code Online (Sandbox Code Playgroud)

如果需要挽救不是子类的异常,则StandardError需要更明确:

begin
  # do some dangerous stuff, like running test scripts
rescue Exception
  # catches EVERY exception
end
Run Code Online (Sandbox Code Playgroud)