0

问题与radis-rb宝石有关。

我的救援块没有捕获到异常,并且我的应用程序出现故障。

我的代码:

begin
  redis = Redis.new 
  puts "WTF?"
rescue Exception
  puts "Exception"
end

如果redis是down,消息WTF?被暴露。

无论有没有 Exception 语句,都会发生这种情况。

为什么我的救援块没有引发异常?

4

1 回答 1

1

我自己解决了这个问题(在社区和评论的帮助下)。

该异常仅发生在 IRB 中。

一个原因是inspectIRB 尝试打印结果时 IRB 的调用Redis.new

在脚本(不是 IRB)中,不会发生异常,因为如果服务关闭Redis.new,不会引发异常。Redis

这个问题有助于解决我的问题。

于 2012-04-28T05:45:37.400 回答