Per costruire applicazioni robuste è necessario adottare una politica attenta nella gestione delle eccezioni.
Il .NET Framework fin dalla sua prima versione mette a disposizione dello sviluppatore una ricca collezione di oggetti per la gestione tipizzata delle eccezioni.
Tutti i tipi ereditano dalla classe Exception, che dalla versione 2.0 dispone di una nuova proprietà di nome Data, nata per aggiungere informazioni aggiuntive.
Per mostrarne il funzionamento creeremo una semplice classe per generare un'eccezione e rilanciarla subito dopo aver aggiunto il valore che lo ha causato.
public ExceptionTrap() { string value = "a3"; try { int.Parse(value); } catch (Exception ex) { ex.Data.Add("Valore causa eccezione", value); throw; } }
E' sufficiente istanziare la classe per generare l'eccezione:
try { new ExceptionTrap(); } catch (Exception ex) { Label1.Text = string.Format("<p>si è verificata la seguente eccezione: {0}</p>", ex.Message); foreach (DictionaryEntry di in ex.Data) { Label2.Text += string.Format("<p>{0} {1}</p>",di.Key, di.Value); } }
Nel blocco catch recuperiamo i dati aggiunti, ciclando il Dictionary e mostrandoli in un controllo Label.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- #lightswitch 2012 supporta nativamente #html5, #jquery e #jquerymobile. è stato mostrato girare su #ipad a #msteched
- 6 giorni al lancio di #netfx4 e #vs10ita. segui il nostro speciale su http://u.aspitalia.com/gh
- Una preview della prossima versione di #VisualStudio con cui creare #metrostyle app http://aspitalia.com/build-win8 #BldWin
- #vs14 ctp2 è disponibile come VM in #azure o per il download. supporto per il touch e tutte novità su https://aspit.co/awc
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- #IE10 disponibile al download da subito: http://aspitalia.com/vf http://aspitalia.com/mix-11 #mix11
- Viene mostrata la nuova start screen di Windows Phone 8 https://aspit.co/wp-summit #WPSummit