相关疑难解决方法(0)

如何在没有开始和结束块的情况下在Ruby中使用rescue

我知道有一个开始救援结束的标准技术

如何单独使用救援区.

它是如何工作的以及它如何知道正在监视哪些代码?

ruby

111
推荐指数
5
解决办法
3万
查看次数

在Ruby中,`rescue`语句可以嵌套在哪些结构中

在ruby中捕获错误,使用该rescue语句.通常这种说法发生在begin和之间end.也可以使用rescue语句作为block(do ... end)或方法(def ... end)的一部分.我的问题是什么其他结构(循环,而如果,......),如果有任何将拯救巢内?

ruby syntax error-handling

33
推荐指数
2
解决办法
2万
查看次数

使用带有require/rescue的单行条件

如果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吗?如果是的话:怎么样?如果不是:为什么?

ruby require rescue

3
推荐指数
1
解决办法
4952
查看次数

标签 统计

ruby ×3

error-handling ×1

require ×1

rescue ×1

syntax ×1