PDA

View Full Version : [Generico/.NET] Gestire le eccezioni


alex783
11-10-2009, 19:21
Ciao a tutti! da un po' di giorni mi sto ponendo un cruccio sulle eccezioni. Senza andare per le lunghe, la mia domanda è: quando programmiamo, dobbiamo prevedere solo quelle eccezioni che si potrebbero verificare in un normale contesto operativo, oppure dovremmo prevedere anche eventuali comportamenti scorretti dell'utente, come ad esempio la cancellazione di una chiave dal registro di sistema mentre è in esecuzione il nostro programma?

Giusto un esempio :D

Grazie.

!k-0t1c!
11-10-2009, 19:59
Usa dei catch per quelle non fatali (tali per cui puoi continuare o ritentare con molte speranze di successo) o per quelle "normali" per cui puoi fornire una spiegazione precisa dell'errore, puoi raccogliere informazioni di debug etc. Per tutte le altre, compresa la stupidità dell'utente se interferisce con aspetti nascosti dell'OS mentre il programma viene eseguito, usa un catch generico giusto per non dare il classico messaggio d'errore di .NET, logga tutti i dettagli ed eventualmente predisponi un sistema di crash reporting.

RaouL_BennetH
12-10-2009, 13:20
Aggiungerei solo una indicazione per quanto già detto da !k-0t1c! :

Parti sempre dalla più specifica alla più generica (per .net la 'mamma' è Exception)