Questo argomento contiene le seguenti sezioni:
Utilizzare il nodo TryCatch per fornire un programma di gestione speciale per l'elaborazione delle eccezioni. Inizialmente il messaggio di input è instradato al terminale Try di questo nodo, che va connesso ai restanti nodi che non elaborano errori del flusso di messaggi. Se un nodo in posizione successiva (che può essere un nodo Throw) genera un'eccezione, il nodo TryCatch la rileva ed instrada il messaggio originale al relativo terminale catch. Connettere il terminale Catch a ulteriori nodi per fornire l'elaborazione errori per il messaggio dopo un'eccezione.
In questo modo, si evita che le eccezioni arrestino l'elaborazione del flusso di messaggi ed abbiano effetti negativi su qualsiasi transazione in corso. Se il terminale di output catch è connesso, il messaggio viene trasmesso a tale terminale. Se il terminale catch non è connesso, il messaggio viene eliminato.
Il nodo TryCatch è rappresentato nel workbench dalla seguente icona:
Fare riferimento al seguente esempio per capire come utilizzare questo nodo:
Utilizzare i nodi Throw e TryCatch quando si utilizza il nodo Compute per calcolare un totale. E' possibile creare un messaggio che è inviato all'amministratore di sistema quando il totale calcolato supera il valore massimo per il campo Totale.
Una volta inserita un'istanza del nodo TryCatch in un flusso di messaggi, è possibile configurarla.
Per fare ciò, fare clic con il tasto destro del mouse sul nodo nella vista dell'editor e fare clic su Proprietà. Vengono visualizzate le proprietà Descrizione.
Immettere una descrizione breve, una descrizione completa o entrambe.
Fare clic su Applica per effettuare le modifiche al nodo TryCatch senza chiudere la finestra di dialogo delle proprietà o fare clic su OK per applicare le modifiche e chiudere la finestra di dialogo delle proprietà.
Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.
Ora è necessario connettere i terminali del nodo per stabilirne la modalità operativa all'interno del flusso di messaggi.
Il nodo TryCatch non dispone di proprietà configurabili che hanno effetti sul suo funzionamento. Si stabilisce la sua modalità operativa connettendo i terminali di output ai nodi successivi nel flusso di messaggi.
Quando si genera un'eccezione nel flusso di messaggi, per l'utilizzo esplicito del nodo Throw o dell'istruzione ESQL THROW oppure perché il broker genera un'eccezione implicita quando rileva un errore che il flusso di messaggi non è stato programmato a gestire, il controllo ritorna al nodo TryCatch.
Il messaggio è trasmesso attraverso il terminale catch e la gestione errori progettata viene eseguita. Il messaggio che viene trasmesso attraverso questo terminale ha lo stesso contenuto che aveva nel momento in cui è stata generata l'eccezione, compresa la descrizione completa dell'eccezione in ExceptionList.
I terminali del nodo TryCatch sono descritti nella seguente tabella.
Terminale | Descrizione |
---|---|
In | Il terminale di input che accetta un messaggio affinché venga elaborato dal nodo. |
Catch | Il terminale di output a cui viene trasmesso il messaggio se viene generata un'eccezione nel proseguimento dell'elaborazione e questo nodo la rileva. |
Try | Il terminale di output a cui è trasmesso il messaggio se non è rilevata l'eccezione. |
La seguente tabella descrive le proprietà del nodo; la colonna con l'intestazione O indica se la proprietà è obbligatoria (contrassegnata con un asterisco nella finestra di dialogo delle proprietà se è necessario immettere un valore quando non è specificato alcun valore predefinito), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge un flusso di messaggi al file bar per distribuirlo).
Le proprietà Descrizione del nodo TryCatch sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Descrizione breve | No | No | Una breve descrizione del nodo. | |
Descrizione completa | No | No | Testo che descrive lo scopo del nodo nel flusso di messaggi. |