Ich fange Exception
.Wie erkenne ich erkannte Fehler?
Ich möchte etwas tun, wenn das ein spezifischer Fehler ist. Ich kann es leicht mit der Schnur identifizieren.
Allerdings habe ich mich gefragt, ob es eine sauberere Möglichkeit gibt, dies zu tun. Wenn ich beispielsweise einen eigenen Wrapper für die Ausnahme erstelle, füge ich einen Index hinzu.
Gibt es so etwas in der Standardausnahme?
Die Funktion, die ich verwende, die Fehler wirft, ist eine Instanz von RemoteWebDriver
(Selen-Objekt). Ich brauche jedoch keine spezifische Antwort für diese Klasse.
Um genauer zu sein, erhalte ich den folgenden Fehler: OpenQA.Selenium.WebDriverException
. Es kann jedoch ausgelöst werden, wenn beim Erstellen eines Treibers eine Zeitüberschreitung auftritt oder wenn eine js-Datei geschlossen wird. Sie haben die sichere HResult
.
So sehe ich keine Möglichkeit, sie anderen zu unterscheiden, als leider zu überprüfen String ...
Möchten Sie eine bestimmte Unterklasse von 'Exception' abfangen? Oder eine mit einer spezifischen Nachricht? – Blorgbeard
Nun, ziemlich vage. Zuallererst fangen Sie keine Exception ein, sondern bevorzugen mehr abgeleitete Klassen. Einige von ihnen haben einen numerischen Fehlercode, um spezifischere Fehler zu unterscheiden. Die Basisklasse hat auch die HResult-Eigenschaft. Ohne mehr Kontext ... –
Sie können 'catch (SomeSubClassOfException)', oder in C# 6 können Sie [Ausnahme Filter] (http://stackoverflow.com/questions/4268223/c-sharp-exception-filter) verwenden. – Blorgbeard