chi*_*org 2 ruby selenium exception-handling
我有10个Ruby函数调用我想执行,每次调用都可能抛出异常.我想以同样的方式处理每个异常并继续.有没有办法做到这一点没有包装的每一行begin... rescue... end阻止?
[编辑]:用例是一个屏幕抓取器/自动化工具,它使用Selenium Web驱动程序填写表单.我不想打扰检查select元素中的选项是否存在,只是尽可能地填写它们.为此,我需要调用Selenium::WebDriver::Support::Select.select_by并继续,如果它抛出"无法找到值为x的选项"异常.
我发现这个答案也符合我的要求:
def action
yield
rescue
....
ensure
....
end
action { call1 }
action { call2 }
action { call3 }
Run Code Online (Sandbox Code Playgroud)
你的意思是这样的?
class Wtf
def f1
raise "f1"
end
def f2
raise "f2"
end
end
obj= Wtf.new
[:f1, :f2].each do |f|
begin
obj.send f
rescue Exception=> e
p e
end
end
Run Code Online (Sandbox Code Playgroud)
编辑:为示例添加了更多代码
| 归档时间: |
|
| 查看次数: |
3527 次 |
| 最近记录: |