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
tryStatements | Parametro facoltativo. Istruzioni in cui può verificarsi un errore. Può essere un’istruzione composta. |
Catch | Parametro 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. |
exception | Parametro 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. |
type | Parametro 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. |
When | Parametro 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. |
expression | Parametro 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. |
catchStatements | Parametro facoltativo. Istruzioni per gestire gli errori che si verificano nel blocco Try associato. Può essere un’istruzione composta. |
Exit Try | Parametro 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. |
Finally | Parametro facoltativo. Un blocco Finally viene sempre eseguito quando l’esecuzione lascia una parte dell’istruzione Try...Catch. |
finallyStatements | Parametro facoltativo. Istruzioni che vengono eseguite dopo l’elaborazione di tutti gli altri errori. |
End Try | Termina 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.
