Gestione delle eccezioni

Completato

Eccezioni possono essere generate praticamente da qualsiasi azione. Per questo motivo, la maggior parte delle proprietà delle azioni contiene un pulsante In caso di errore. Questo pulsante consente di accedere alle impostazioni di gestione delle eccezioni dell'azione.

Gestione delle eccezioni a livello di azione

Nell'esempio iniziale, si è accennato al fatto che il database del client potrebbe essere inaccessibile e, conseguentemente, causare la generazione di un'eccezione da parte dell'azione che comunica con esso.

Per evitare ciò, aprire le proprietà dell'azione e premere il pulsante In caso di errore.

Gestione delle eccezioni nelle proprietà dell'azione Apri connessione SQL.

In questa vista si può configurare il comportamento di gestione delle eccezioni dell'azione, attivando le regole preimpostate o aggiungendone di nuove. Queste regole vengono applicate nel caso che questa specifica azione non riesca e nell'ordine in cui sono state disposte:

Scheda Gestione delle eccezioni compilata nelle proprietà dell'azione Apri connessione SQL.

Nota

È possibile riorganizzare le regole create dall'utente usando il trascinamento della selezione.

Nel caso precedente, ad esempio, quando questa azione non riesce, viene eseguito un nuovo tentativo dopo 2 secondi, quindi viene eseguito un flusso secondario che invia un messaggio e-mail all'amministratore per notificare lo stato del database. Inoltre, l'azione cambia il valore di una variabile che indica che il database non è attivo.

Per impostazione predefinita, la gestione delle eccezioni ha effetto quando si verifica un'eccezione mentre questa azione è in esecuzione. Tuttavia, è possibile configurarla in modo che abbia effetto solo al verificarsi di un tipo specifico di eccezione. Ogni azione può produrre solo tipi di eccezione specifici:

La scheda Gestione delle eccezioni compilata nelle proprietà dell'azione Apri connessione SQL con le eccezioni selezionate.

In questo esempio, le regole di gestione delle eccezioni verranno applicate solo quando si verifica l'eccezione Impossibile connettersi all'origine dati.

Gestione delle eccezioni a livello di blocco

In alcuni casi non si può sapere con certezza quale azione rischia di non riuscire: in questi casi non è opportuno applicare le stesse regole di gestione delle eccezioni a ogni azione.

Si consideri, ad esempio, un flusso in cui Power Automate per desktop interagisce con il portale Web. Se in un punto qualsiasi dell'attività il portale o il browser non risponde, l'azione preferita è chiudere il browser, riavviarlo e riavviare dall'inizio l'interazione del portale Web. Tuttavia, dato che l'interazione con un portale Web può comprendere decine o persino centinaia di azioni. assegnare le stesse regole di gestione delle eccezioni a ciascuna azione non è pratico.

L'azione Errore su blocco consente di applicare un set di regole di gestione delle eccezioni a un intero blocco di azioni:

La finestra di dialogo delle proprietà dell'azione Errore su blocco.

Le azioni comprese tra Errore su blocco e Fine sono interessate dalle regole di gestione delle eccezioni del blocco:

L'area di lavoro con un esempio di uso dell'azione Errore su blocco.

In questo esempio, se una delle azioni all'interno del blocco non riesce, vengono applicate le regole del blocco: viene eseguito un flusso secondario che chiude il Web browser e viene ripetuto l'intero blocco, evitando che il flusso si arresti in modo anomalo in caso di mancata risposta di una pagina Web o di un browser.

Priorità di gestione delle eccezioni

L'ordine in cui viene applicata la gestione delle eccezioni è dal basso verso l'alto: nel caso in cui un'azione non riesca, hanno effetto immediato le singole regole di gestione delle eccezioni. Se ciò non è sufficiente per la ripresa del flusso, vengono applicata le eventuali regole di gestione delle eccezioni a livello di blocco.

Pertanto, qualsiasi regola di gestione delle eccezioni a livello di azione viene eseguita prima delle rispettive regole a livello di blocco.