【发布时间】:2011-10-25 11:46:23
【问题描述】:
我需要拯救从 Redis 库中提出的 Timeout::Error,但我遇到了问题,拯救该特定类似乎不起作用。
begin
Redis.new( { :host => "127.0.0.X" } )
rescue Timeout::Error => ex
end
=> Timeout::Error: Timeout::Error from /Users/me/.rvm/gems/ree-1.8.7-2011.03@gowalla/gems/redis-2.2.0/lib/redis/connection/hiredis.rb:23:in `connect'
当我试图拯救 Exception 时它仍然不起作用
begin
Redis.new( { :host => "127.0.0.X" } )
rescue Exception => ex
end
=> Timeout::Error: Timeout::Error from /Users/me/.rvm/gems/ree-1.8.7-2011.03@gowalla/gems/redis-2.2.0/lib/redis/connection/hiredis.rb:23:in `connect'
如果我尝试手动引发异常,我可以拯救它,但不知道为什么当它从 Redis Gem (2.2.0) 中调用时我无法拯救它。
begin
raise Timeout::Error
rescue Timeout::Error => ex
puts ex
end
Timeout::Error
=> nil
任何线索如何挽救这个异常?
【问题讨论】:
标签: ruby exception exception-handling redis rescue