我知道有一个开始救援结束的标准技术
如何单独使用救援区.
它是如何工作的以及它如何知道正在监视哪些代码?
在ruby中捕获错误,使用该rescue语句.通常这种说法发生在begin和之间end.也可以使用rescue语句作为block(do ... end)或方法(def ... end)的一部分.我的问题是什么其他结构(循环,而如果,......),如果有任何将拯救巢内?
如果a require不成功,我想避免错误.
我可以这样做:
begin
require 'unexisting_script'
rescue LoadError
end
Run Code Online (Sandbox Code Playgroud)
我尝试用一行条件做同样的事情:
require 'unexisting_script' rescue LoadError
Run Code Online (Sandbox Code Playgroud)
并得到错误 no such file to load -- unexisting_script (LoadError)
使用其他异常/命令我对单行救援没有任何问题,这有效:
1 / 0 rescue ZeroDivisionError
Run Code Online (Sandbox Code Playgroud)
我也尝试将命令括起来,但是成功了:
(require 'unexisting_script') rescue LoadError
Run Code Online (Sandbox Code Playgroud)
我可以将所有内容放在一行中;:
begin require 'unexisting_script'; rescue LoadError; end
Run Code Online (Sandbox Code Playgroud)
但我仍然在想,为什么最短的版本不起作用.
我发现了一些相关的问题,但没有一个提到需要和救援的问题:
我的问题:
我可以rescue在一线条件下使用require吗?如果是的话:怎么样?如果不是:为什么?