【发布时间】:2016-04-20 06:58:54
【问题描述】:
我在捕获调用 Proc object 的异常和错误时遇到问题。查看我的代码:
def method1
.. do something ...
end
def method2
.. do something ...
end
def run_method_safely(proc_obj)
begin
proc_obj.call
rescue => e
puts "Error man!"
... do something ...
end
end
我有几个方法(这里我只有method1, method2,但在代码中我有更多方法)是由方法run_method_safely 运行的。我这样做是因为我不想让每个方法都在 begin-rescue 块中,所以我编写了方法来解决这个问题。见:
.
run_method_safely(Proc.new { method1 })
run_method_safely(Proc.new { method2 })
.
问题是当proc_obj.call 执行时出现错误(方法丢失,Webdriver - 未找到此类元素或其他)救援块未执行,程序正在运行,就像什么都没发生一样。。 p>
有人知道如何从 Proc 代码中捕获错误和异常吗?
【问题讨论】:
-
你能生成一个可运行的样本来重现这个吗?