Autor Beitrag
av1983
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mi 25.07.07 23:39 
Hallo,

ich habe eine sehr simple Frage:

Wie komme ich bei der Fehlerbehandlung in C# aus einem catch Block wieder zurück in den try Block, um dort mit der nächsten Zeile fortzufahren? Bei VB ging das mal mit resume next...wie geht das bei C#?

Ich möchte Sprungbefehle wie goto vermeiden, da ich sonst viele Marker einfügen müsste.

In sämtlichen Referenzen konnte ich leider nichts finden.

Danke

av1983


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (C# / .NET) verschoben am Do 26.07.2007 um 00:10
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 26.07.07 00:10 
Ganz einfach: Gar nicht.

Ich halte das auch für sehr unsauber, wenn man das tun würde (was meinen Eindruck von VB untermauert, wenn es das zulässt). Man fasst in einem try-Block ja nur solche Befehle zusammen, die, bei einem Fehler in einem davon, nicht mehr sinnvoll ausführbar sind. Zurückzuspringen widerspricht dem Gedanken einer try-Anweisung.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
av1983 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Do 26.07.07 00:41 
Hi,

zur Erläuterung.
Es handelt sich um mehrere fast gleiche Methoden / Abfragen, die aber "unabhängig" von einander ausführbar sind.
Wenn ich nun um jede einen try und catch Block bauen muss, ist das wesentlich unschöner, als direkt aus dem catch Block zurück zu springen.

Daher meine Frage, wie das möglich ist?!?

Danke und Grüße
av1983
av1983 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Fr 27.07.07 11:58 
Weiß keiner weiter???

Wäre super!

Danke.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 27.07.07 12:03 
Hi,
user profile iconav1983 hat folgendes geschrieben:
Daher meine Frage, wie das möglich ist?!?


Christian hat dir die Antwort doch schon gegeben: Es ist nicht Möglich.

Gruß
Klabautermann
Greenberet
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 339
Erhaltene Danke: 20

Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
BeitragVerfasst: Fr 27.07.07 18:22 
In deinem fall würde ich dir wirklich empfehlen für jedes element einen Try/Catch block aufzumachen wenn du das brauchst.
die alternative wären Labels(goto) ist allerdings extrem unsauber. und vom schreibaufwand wäre es ca identisch, da du dann jedes mal abfragen müsstest du zuletzt warst und dann dort dementsprechend zur jeweiligen methode zu springen.

aber wie schon gesagt, das ist eine extrem unsaubere methode und gilt als schlechter Programmierstil was ja auch verständlich ist.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 28.07.07 10:02 
Bei "fast gleichen Methoden" könnte man möglicherweise durch Delegates und eine Schleife den Code auf ein Minimum reduzieren. Genaueres kann bisher nur der Autor selbst sagen ;) .