Programmazione asincrona deadlock

Programmazione Asincrona eccezioni multiple

Gestire eccezioni all’interno di codice asincrono non sempre porta ai risultati attesi. Analizziamo il seguente codice asincrono

si tratta di due funzioni asincrone che generano un’eccezione. Come per i metodi sincroni è possibile combinare chiamate di tipo asincrono. Possiamo ad esempio scrivere:

cioè un nuovo metodo asincrono che ritorna la somma dei due int, restituiti dall’esecuzione dei metodi precedenti. Quello che ci aspettiamo è la generazione di entrambe le eccezioni (dal momento che vengono effettuate le due chiamate). Quello che accade è però una la completa mancanza della gestione della seconda eccezione: ci saremmo aspettati un’eccezione aggregata contentente entrambe.  Questo tipo di comportamento si verifica a causa della natura asincrona dei metodi, che vengono eseguiti in thread separati.

 

Pubblicato da

Andrea Merlin

Laureato in informatica, diversi corsi di specializzazione legati allo Sviluppo Software e alla Computer forensics. Appassionato di nuove tecnologie, amo la programmazione, la Business Intelligence e tematiche legate alla Privacy.Sempre alla ricerca di nuove idee, stimoli … e progetti da seguire!Amo trascorrere il tempo libero in Val Borbera, un piccolo angolo del Piemonte, in provincia di Alessandria.