Ich stieß auf eine Situation, in der ich zurück durch die Methoden der App auf den "Baum" bis ich entschied, es zu fangen (wenn ich es tue) - wie eine Ausnahme ; Es wird durch den ganzen Code angehoben, bis Sie es fangen oder das Dach treffen.Schritt zurück durch Code - wie eine Ausnahme, aber nicht
Der allgemeine Konsens besteht darin, dass Sie nur Ausnahmen für Ausnahmen verwenden. Wenn das der Fall ist, was wäre der Mechanismus, um eine Ausnahme wie ein Muster im Code anzuwenden, aber nicht notwendigerweise eine Ausnahme?
Ist eine Ausnahme der richtige Mechanismus zu verwenden? In diesem Fall tut eine Ausnahme, was benötigt wird - aber durch strenge Definition ist es keine Ausnahme.
Gibt es ein Ereignismuster oder eine Klasse, die mir nicht bekannt ist?
bearbeiten
Nur um zu klären - mein erster Entwurf würde eine benutzerdefinierte Ausnahme zu schaffen - da Ausnahme passt die Rechnung. Aber das ist keine Ausnahme - es ist eine Entscheidung, durch den Code zurückzugehen, bis ich es oder nicht - abhängig. Ich denke, benutzerdefinierte Ausnahme - aber wollen sicherstellen, dass es keine Klasse/Muster, die dies behandelt.
aktualisieren
ich eine benutzerdefinierte Ausnahme endete werfen. Während ich immer dachte, dies sei das beste Muster/die beste Methode zu dem, was ich wollte, mochte ich nicht die Verwendung einer Ausnahme dafür - da es keine Ausnahme ist. Aber letztendlich ist eine Ausnahme die perfekte Lösung.
Bitte posten Sie die Hintergrundgeschichte/Argumentation dafür; Es macht keinen Sinn in der Zusammenfassung –
Ich brauchte eine Möglichkeit, einen benutzerdefinierten Workflow (nicht WF) schnell zu beenden, ohne eine Statusvariable zu überprüfen, um sicherzustellen, dass ich weitermachen sollte oder ob der letzte Schritt erfolgreich war. Eine Ausnahme wird mich den ganzen Weg zurückführen, bis ich es erwische. Es ist, was ich getan habe. –
Sie haben gerade eine Ausnahme missbraucht, um Ihr eigenes GOTO zu erstellen. Das ist hässlich. ;-) –