Die Variable error sieht verdächtig nach einem Fehlercode Variable. Es empfiehlt sich, Ausnahmen zu verwenden, um Fehlerinformationen direkt zu übermitteln, anstatt sie in Fehlercodes zu speichern.
Sie machen das gleiche mit Ihrem ErrorString, wie Sie es wären, wenn Sie die Ausnahme einfach vom Aufrufer abfangen lassen: die Verantwortung für die Reaktion auf einen Fehler von der Methode selbst zu entfernen. Das ist ein gutes Ziel. Aber die Verwendung einer Fehlerzeichenfolge bringt Ihnen nichts über die Verwendung einer Ausnahme. In der Tat verlieren Sie Informationen auf diese Weise. Es gibt eine Reihe von Arten von Fehlern, die auftreten können, und viele haben spezielle Ausnahmen, die mit ihnen verbunden sind, mit ihren eigenen speziellen Eigenschaften, um kontextabhängige Informationen über den Fehler zu speichern. Wenn Sie die Nachricht in einem String speichern, verlieren Sie diese Information.
Wenn Ihr Ziel also nicht darin besteht, den Fehlertyp des Aufrufers zu verbergen, können Sie nur gewinnen, indem Sie die Ausnahme durchlassen.
Eine andere Sache zu prüfen ist, ob dies wirklich ein Fehlerszenario ist. Wenn dies der Fall ist, ist es sehr unwahrscheinlich, dass Ihre Aufrufmethode überhaupt den Wert des Rückgabewerts berücksichtigt. In diesem Fall müssen Sie sich keine Sorgen machen, indem Sie einfach die Ausnahme loslassen und nichts zurückgeben. Wenn es nicht wirklich ein Fehlerszenario ist, und der Anrufer wird einfach weitermachen und etwas anderes tun, nun, das muss der Anrufer entscheiden, oder? Es gibt immer noch keinen großen Vorteil, wenn Sie eine Fehlerzeichenfolge und eine Dummy-DataTable oder eine Null zurückgeben und die Ausnahme mit all ihren kontextabhängigen Fehlerinformationen überschreiben.
"Also wenn ich Methoden mit Rückgabewerten habe, verwende ich keinen try-catch-Block, was eine schlechte Übung ist." Sagt wer? Die meisten Methoden geben Werte zurück, ohne in try-Blöcke eingeschlossen zu werden. –
Geschlagen um 20 Sekunden! Ja, was ich sagen wollte; Wenn es eine Ausnahme gibt - Wenn Sie es nicht erwarten und etwas Nützliches daran tun können, lassen Sie es dem Anrufer platzen. –
Das Schlucken von Ausnahmen ist hier das eigentliche Problem. –