Der sauberste Weg, Code außerhalb des try-Blocks auszuführen, wenn keine Ausnahme ausgelöst wird

8

Diese Frage bezieht sich auf den besten Weg , Code außerhalb des try-Blocks nur auszuführen, wenn keine Ausnahme ausgelöst wird.

%Vor%

Dies ist eine Methode, die von @webbiedave als Antwort auf die Frage php versuchen .. sonst . Ich finde es unbefriedigend wegen der Verwendung der zusätzlichen $caught Variable.

%Vor%

Was ist also ein besserer (oder der beste) Weg, dies zu erreichen, ohne dass eine zusätzliche Variable benötigt wird?

    
ogc-nick 12.06.2013, 19:06
quelle

2 Antworten

4

Eine Möglichkeit besteht darin, den try-Block in eine Methode einzufügen und false zurückzugeben, wenn eine Ausnahme ausgelöst wird.

%Vor%     
rcapote 12.06.2013, 19:23
quelle
0

Lassen Sie Ihren catch-Block die Funktion verlassen oder werfen / werfen Sie eine Ausnahme. Sie können Ihre Ausnahmen auch filtern. Wenn Ihr anderer Code also eine Ausnahme auslöst, können Sie das fangen und (erneut) werfen. Denken Sie daran:

  1. Die Ausführung wird fortgesetzt, wenn keine Ausnahme abgefangen wird.
  2. Wenn eine Ausnahme passiert und gefangen wird und nicht (erneut) geworfen wird oder ein neuer geworfen wird.
  3. Sie beenden Ihre Funktion nicht aus dem catch-Block.
  4. Es ist immer eine gute Idee , jede Ausnahme, die Sie nicht behandeln, (erneut) zu werfen.
  5. Wir sollten in unserer Ausnahmebehandlung immer explizit sein. Das heißt, wenn Sie Ausnahmen abfangen, überprüfen Sie den Fehler, dass wir mit allem umgehen können, was (wieder) werfen (n)
  6. sein sollte

Die Art und Weise, wie ich mit Ihrer Situation umgehen würde, wäre, die Ausnahme von der zweiten Anweisung (erneut) zu werfen.

%Vor%     
bgrohs 20.07.2014 06:46
quelle