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 に答える