Vom Try zum Finally

Hallo zusammen,

ich versuch’s mal auf Deutsch:

kann mir jmd nen Tipp geben, welche Activity ich nehmen kann, wenn ich keinen echten Fehler habe und einfach vom Try ins Finally springen möchte?
Ich versende vorher nur eine Hinweismail und möchte dann den Prozess beenden.

D.h. Throw würde sich hier nicht anbieten, richtig?
Break ist ja nur für ForEach
und Kill Process meint ja eher so Prozesse wie zB “Chrome” und schließt die dann.

Wie würde Terminate sich verhalten? Bzw. weiss ich nicht, was hier bei Reason rein muss und ob es dann das macht was ich will…

Jmd ne Idee?

Danke!

LG
Jen

Hi @roboJen,
wenn ich dich richtig verstehe ist die letzte Aktion der Versand deiner Hinweismail. Damit ist der Bot für diesen Teil fertig und springt automatisch in den Finally Teil. Im Finally Teil kannst du entweder eine Funktion invoken oder einfach activities einbauen.

Wenn du einen echten Fehler hättest, würdest du wie von dir beschrieben den mit einem Throw abfangen. der Bot würde im Fehlerfall in den Catch Teil springen. Wenn kein Fehler auftritt und der Try Teil fertig ist, gehts gleich in den Finally.

Ich hoffe ich habe dich richtig verstanden und ich konnte dir ein wenig weiterhelfen.

Cheers,
Timo

Jein,

ich habe innerhalb eines Workflows (und weiteren Sequenzen etc.) einen Punkt wo er vorher durch eine If Prüfung reinläuft.
Hier soll er nun eine Mail versenden und dann Abbrechen, OHNE ins Catch zu gehen, sondern nur ins Finally und den Prozess quasi stoppen.

Ich brauche also sozusagen ein Exit-Point und die passende Activity dazu - ist terminate hier eventuell geeignet? Was muss dort bei Reason rein?

LG
Jen

Achso also nochmal zum Verständnis:

  1. → 2.-> 3. … → Finally

und bei 2. hätt ich gerne nen Exit Point, damit er direkt ins Finally hüpft und NICHT zu 3. übergeht.

ich hab mal ein Beispiel erstellt. Schaut dein Prozess ungefähr so aus? Wenn nicht kannst du evtl. einen Screenshot von dem Teil hochladen?

Ich geh jetzt mal davon aus wenn deine Condition erfüllt ist, soll der Bot nur Schritt 2 ausführen und dann in Finally gehen. Ist die Condition nicht erfüllt soll Schritt 3 ausgeführt werden. Sollte unterhalb deiner if activity der Schritt 3 sein, kannst du diesen in den Else part der if activity schieben.

Damit würde im if = ja Fall nur Schritt 2 ausgeführt andernfalls nur Schritt 3. Anschließend geht es in beiden Fällen in den Finally Teil über.

1 Like

Hey danke, aber nee es ist wesentlich komplexer :wink:
Das Problem ist vielleicht auch eher, dass es schon ein großer Code ist und mittendrin ist halt dieser Teil. D.h. ich will vermeiden, alles komplett umbauen zu müssen.

Kannst du mir ein beispiel geben, wie man Terminate benutzt? Ich habe Hoffnung, dass es das ist, was ich brauche :wink:

Mir fehlt hier aber der Reason - also was muss da rein?

Danke!

LG
Jen

Servus Jen,

Terminate habe ich noch nicht verwendet. Aber schau mal hier rein:

Hoffe sehr der Link hilft dir weiter.

Viel Erfolg,
Timo

nee leider nich :frowning:
ich brauch das hier:

exception kann man wohl frei lassen…

Schade.

Reason ist die Beschreibung warum der Bot an dieser Stelle abbrechen soll.
Also Reason = “Grund des Abbruchs”
Exception sollte ebenfalls mit der Art der Exception gefüllt sein. In diesem Fall System.Exception

Ich vermute aber das du mit Terminate nicht weiterkommen wirst. Schließlich wird damit der Prozess sofort gestoppt. Vermutlich kommst du um eine Anpassung des Workflows nicht herum. Evtl. hilft dir hier ein Flowchart weiter bei dem du mit entsprechender Bedingung den Workflow stoppst.

1 Like