【发布时间】:2012-05-10 08:30:54
【问题描述】:
我有一个使用 savon 作为 gem 与 SOAP API 对话的类。有时服务器无法访问,因此实现soap方法的方法会抛出Timeout::Error。像这样实施救援不是问题:
begin
...
rescue Timeour::Error
...
end
但是我定义了大约 50 种可能会受到影响的方法,我不想重复相同的代码 50 次。那绝对不干。有没有办法解决这个问题?我已经想过这样的事情了:
def safe_call method, params
begin
self.send method, params
rescue Timeour::Error
# do sth heroic to rescue the method
end
end
但这很糟糕,因为我必须更改所有使用该类的脚本中的每个调用。有没有办法进行全班救援?
【问题讨论】:
-
你想从那个错误中恢复,还是直接忽略它?
标签: ruby-on-rails ruby timeout savon