0
begin
  ie.select_list(:id, "PageSize").select_value("300")
rescue Watir::Exception::UnknownObjectException  
  aftererrorObj.errorMain(ie,con,country)
  retry
rescue Timeout::Error
  aftererrorObj.errorMain(ie,con,country)
  retry 
end

我的 ruby​​ 代码以这种方式处理异常。这是处理异常的正确方法吗?它会起作用吗?

4

2 回答 2

2

如果您只是想在对象由于 AJAX 或响应时间慢而尚未加载的情况下挽救脚本,则类似这样的方法可能更合适:

Watir::Wait.until(60) { ie.select_list(:id, "PageSize").exists? }

或者

ie.select_list(:id, "PageSize").when_present.select_value("300)
于 2013-07-09T14:49:46.697 回答
0

如果只是想在同一个救援中捕获多种类型的异常,请将它们组合为逗号分隔的列表:

begin
  ie.select_list(:id, "PageSize").select_value("300")
rescue Watir::Exception::UnknownObjectException, Timeout::Error
  aftererrorObj.errorMain(ie,con,country)
  retry
end
于 2013-08-03T11:57:28.677 回答