Try-Catch¶
Akce Try zachytí chyby vzniklé při provádění vnořených akcí a umožňuje na ně reagovat alternativní sadou akcí. Obdoba try-catch bloku v programovacích jazycích.
Vlastnosti¶
| Vlastnost | Popis | Hodnota / Komentář |
|---|---|---|
| Actions | Hlavní akce, které se pokusí provést (blok try). | — |
| OnError | Akce provedené při zachycení chyby (blok catch). | — |
| ErrorMessageVariable | Název workflow proměnné, do které se uloží text chybové zprávy. | ErrorMsg |
| StackTraceVariable | Název workflow proměnné, do které se uloží stack trace výjimky. | ErrorStack |
| Label | Popisný štítek zobrazený v editoru akcí. | — |
| Disabled | Pokud je akce deaktivována, její vykonání se přeskočí. | Vypnuto / Zapnuto |
Chování¶
Pokud některá akce v bloku Actions vyhodí výjimku nebo vrátí chybový výsledek, workflow nezastaví — místo toho se provedou akce v bloku OnError. Text chyby a stack trace se uloží do zadaných proměnných (pokud jsou definovány).
Pokud blok OnError není definován nebo je prázdný, chyba se potichu zachytí a workflow pokračuje dál.
Příklady¶
Příklad: Zachycení chyby webového požadavku¶
<Try ErrorMessageVariable="ErrorMsg">
<Actions>
<WebRequest Url="https://api.contoso.com/update" Method="POST" ... />
</Actions>
<OnError>
<WriteLog Message="Chyba při volání API: {var:ErrorMsg}" Level="Error" />
<SendMail
EmailTo="{item:Admin}"
EmailSubject="Chyba workflow"
EmailBody="Při volání API došlo k chybě: {var:ErrorMsg}" />
</OnError>
</Try>