La struttura Try Catch e la gestione delle eccezioni in C# e VB.NET

L’istruzione Try Catch in VB.NET consente di gestire alcuni o tutti i possibili errori che possono verificarsi in un blocco di codice specifico, mentre è ancora in esecuzione il codice.

Sintassi

Try
    [ tryStatements ]
    [ Exit Try ]
[ Catch [ exception [ As type ] ] [ When expression ]
    [ catchStatements ]
    [ Exit Try ] ]
[ Catch ... ]
[ Finally
    [ finallyStatements ] ]
End Try
tryStatementsParametro facoltativo. Istruzioni in cui può verificarsi un errore. Può essere un’istruzione composta.
CatchParametro facoltativo. Sono consentiti più blocchi di Catch. Se si verifica un’eccezione durante l’elaborazione del blocco di Try, ogni istruzione Catch viene esaminata in ordine testuale per determinare se gestisce l’eccezione, con exception che rappresenta l’eccezione generata.
exceptionParametro facoltativo. Qualsiasi nome di variabile. Il valore iniziale di exception corrisponde al valore dell’errore generato. Utilizzato con Catch per specificare l’errore rilevato. Se omesso, l’istruzione Catch intercetta qualsiasi eccezione.
typeParametro facoltativo. Specifica il tipo di filtro di classe. Se il valore di exception è del tipo specificato da type o di un tipo derivato, l’identificatore viene associato all’oggetto Exception.
WhenParametro facoltativo. Un’istruzione Catch con una clausola When rileva le eccezioni solo quando expression restituisce True. Una clausola When viene applicata solo dopo avere verificato il tipo di eccezione e expression può fare riferimento all’identificatore che rappresenta l’eccezione.
expressionParametro facoltativo. Deve essere convertibile in modo implicito in Boolean. Qualsiasi espressione che descrive un filtro generico. Usato in genere per filtrare in base al numero di errore. Utilizzato con When parola chiave per specificare le circostanze in cui viene rilevato l’errore.
catchStatementsParametro facoltativo. Istruzioni per gestire gli errori che si verificano nel blocco Try associato. Può essere un’istruzione composta.
Exit TryParametro facoltativo. Parola chiave che si interrompe dalla struttura Try...Catch...Finally. L’esecuzione riprende con il codice immediatamente successivo all’istruzione End Try. L’istruzione Finally verrà comunque eseguita. Non consentito nei blocchi di Finally.
FinallyParametro facoltativo. Un blocco Finally viene sempre eseguito quando l’esecuzione lascia una parte dell’istruzione Try...Catch.
finallyStatementsParametro facoltativo. Istruzioni che vengono eseguite dopo l’elaborazione di tutti gli altri errori.
End TryTermina la struttura del Try...Catch...Finally.

I programmatori C# usano un blocco try per creare partizioni di codice in cui potrebbe essere rilevata un’eccezione. I blocchi catch associati vengono usati per gestire tutte le eccezioni risultanti. Un blocco finally contiene il codice eseguito, indipendentemente dal fatto che venga generata o meno un’eccezione nel blocco try, ad esempio il codice relativo al rilascio delle risorse allocate nel blocco try. Un blocco try richiede uno o più blocchi catch associati, un blocco finally o entrambi.

In C# la logica rimane la stessa, a cambiare sono le diverse costruzioni dal punto di vista sintattico. Ad esempio viene previsto l’uso delle parentesi graffe per aprire e chiudere il blocco try e il blocco catch.

Lascia un commento

Progetta un sito come questo con WordPress.com
Comincia ora