Entwickler-Ecke
Sonstiges (.NET) - Implementierung von Programmsprüngen
Motz - Fr 16.03.12 15:59
Titel: Implementierung von Programmsprüngen
•ich habe eine Methode A() mit einer for-Schleife, die ein Array durchläuft und auf die Elemente mehrere Methoden in verschiedener Verschachtelung aufruft
•B(), C(), D() und E() sollen in bestimmten Situationen die aktuelle Methode A() komplett abbrechen und neu starten
•es handelt sich also um eine Form von Rekursion
Beispiel:
A() -> B()
A() -> B() -> C()
A() -> B() -> D()
A() -> B() -> D() -> E()
Ich komme hierbei nur auf Exceptions, denn A() soll ja abgebrochen und danach neu aufgerufen werden. Kann man aus einem
Catch-Block einer Exception auch direkt eine übergeordnete Methode abbrechen und neu starten? Sonst müsste man ja jede Methode mit einem try-catch-Block versehen und die Exception weiterleiten bis zu A()… was den Code ja unübersichtlich macht.
Exceptions sollen ja eigentlich auch nur für Fehler verwendet werden und nicht für den Programmablauf. Wie würdet Ihr so etwas verwirklichen? Denn Sprungmarken gibt es in C# ja nicht!
PantherX - Fr 16.03.12 16:04
Hallo Motz,
ich hoffe ich habe dein Problem richtig verstanden.
Wie wäre es, den Methoden einen boolschen Rückgabewert zu geben.
In die jeweiligen Catch Blöcke könntest du dann False zurückgeben und somit
angeben ob eine Funktion erfolgreich war oder nicht. Dann hast du auch nur einmal die Exception und der Rest wird sauber abgearbeitet.
Beste Grüße
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!