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

Un'applicazione progettata correttamente gestisce eccezioni ed errori per impedire arresti anomali dell'applicazione. La struttura Try, Catch Consente di gestire alcuni o tutti i possibili errori che possono verificarsi in un blocco di codice specifico, mentre è ancora in esecuzione il codice ed ha la seguente struttura nei linguaggi di programmazione VB.NET e C#:

  • VB.NET

Try
    [ tryStatements ]
    [ Exit Try ]
[ Catch [ exception [ As type ] ] [ When expression ]
    [ catchStatements ]
    [ Exit Try ] ]
[ Catch ... ]
[ Finally
    [ finallyStatements ] ]

End Try


  • C#
try
{
   [tryStatement]
}
catch(Exception)
{
   [catchStatement]
}
finally
{
   [finallyStatement]
}
Un'istruzione Try…Catch è costituita da un blocco Try seguito da una o più clausole Catch, che specificano i gestori per varie eccezioni. Nell' istruzione Try…Catch quindi è possibile utilizzare più di un'istruzione Catch. In tal caso, l'ordine delle clausole Catch è significativo perché vengono esaminate in ordine. Intercettare le eccezioni più specifiche prima di quelle meno specifiche. 
Il comportamento dell’eccezione non gestita è differente nei due linguaggi di programmazione:

  • C#: si risale fino al main dove, per gestire un’eccezione non gestita, basta inserire una struttura Try,Catch;
  • in VB.NET: è presente un gestore di eventi (“Eccezione non gestita”) che consente, appunto, di intercettare l’eccezione in cima alla pila. 

Commenti

Post popolari in questo blog

Processi stocastici con mean reversion: Ornstein–Uhlenbeck process, Dixit & Pindyck Model, Vasicek model, etc

Breve nota di utilizzo sui componenti: Timer e Backgroud worker. E sulla nozione di "extension method"

Alcuni esempi di strategie di trading algoritmico utilizzate