Merge catch Blöcke mit genau dem gleichen Code? [Duplikat]

8

Ich möchte die catch-Blöcke im folgenden Code für die Wiederverwendung von Code zusammenführen:

%Vor%

zu etwas wie diesem:

%Vor%

Ist das irgendwie möglich?

Danke.

    
DxCK 12.12.2009, 12:05
quelle

3 Antworten

7

Vermutlich machst du das an mehr als einem Ort. Wenn ja, warum tust du das nicht:

%Vor%     
yu_sha 12.12.2009 12:32
quelle
5

Nein (oder mindestens: nicht, es sei denn, die Ausnahmen, die Sie gruppieren möchten passieren , um eine gemeinsame Basisklasse für diese Gruppe zu teilen, was sie in Ihrem Beispiel nicht tun); Das einzige, was Sie in diesem Szenario tun können, ist catch (Exception ex) und Laufzeittests auf ex . Wenn Sie das getan haben, erwarte ich, dass Ihr Code bereits "schöner" ist (da Sie den Bearbeitungscode bereits in eine Methode umstrukturiert haben).

Ich wäre versucht, den Abstand zu optimieren, damit ich mich auf den wichtigen -Code konzentrieren kann:

%Vor%

(oder etwas).

In gewisser Weise hängt dies auch mit dieser Frage zusammen: Switch / Pattern-Matching-Idee .

    
Marc Gravell 12.12.2009 12:08
quelle
1

Sie könnten so etwas nur dann tun, wenn Sie eine ordentliche Hierarchie von Ausnahmen hätten, dann könnten Sie eine Ausnahme von einem höheren Typ in der Hierarchie abfangen. Ausnahmehierarchien sollen jedoch von Entwurf an seicht sein und es gibt keine Garantie, dass Sie die Ausnahmen auf dieselbe Weise nur auf der Grundlage der Hierarchie behandeln möchten. Und außerdem ... nichts davon würde mit Standard-Ausnahme-Typen in Ihrem Beispiel helfen.

    
Leigh S 12.12.2009 12:15
quelle