私はException
を捕まえる。キャッチしたエラーを特定する方法は?
これは具体的なエラーであれば何かしたいと思います。私は文字列で簡単に識別できます。
しかし、私はこれを行うためのよりクリーンな方法があるのだろうかと思った。たとえば、例外のために独自のラッパーを作成すると、インデックスが追加されます。
デフォルト例外にはこのようなことがありますか?
エラーをスローする関数は、RemoteWebDriver
(セレンオブジェクト)のインスタンスです。しかし、私はそのクラスに特有の答えは必要ありません。
より正確には、私は次のエラーをキャッチします:OpenQA.Selenium.WebDriverException
。 しかし、ドライバの作成時にタイムアウトが発生したり、jsファイルが閉じられたりすると、スローされることがあります。彼らはセーブHResult
を持っています。
だから私は、あなたが特定の例外をキャッチすることができ
「例外」の特定のサブクラスをキャッチしますか?または特定のメッセージを持つもの? – Blorgbeard
まあ、かなり曖昧です。まず第一にExceptionを捕捉するのではなく、より派生したクラスを好む。それらの中には、より具体的なエラーを識別するための数値エラーコードがあります。基本クラスにもHResultプロパティがあります。コンテキストがなければ... –
「catch(SomeSubClassOfException)」、またはC#6では[例外フィルタ](http://stackoverflow.com/questions/4268223/c-sharp-exception-filter)を使用できます。 – Blorgbeard