>Ciao a tutti!!
Ciao :)
>Sto sviluppando un'applicazione in C# con .NET
>3.5. Ora quando sono in debug accade un fatto curioso. Quando
>si verifica un'eccezione non gestita con un blocco try-catch,
>l'applicazione non mi mostra nessun messaggio di errore. C'è
>un modo per far apparire un messaggio di errore come per esempio
>avviene nelle applicazioni ASP.NET? Che se un'eccezione non è
>gestita il server mi rimanda la pagina standard di errore di
>ASP.NET.
La classe Exception intercetta qualsiasi eccezione :
try
{
...
...
}
catch(Exception ex)
{
Messagebox.Show(ex.Message);
}
Con il blocco scritto sopra puoi praticamente gestire qualsivoglia eccezione, se, per esempio, vuoi intercettare delle eccezioni di cui conosci la tipologia, tipo IOException, dovresti prima intercettare l'eccezione specifica, poi la generica (exception), prorpio per questo il blocco catch che intercetta "Exception" è sempre l'ultimo blocco catch.
Esempio :
try
{
...
...
}
catch(IOException ioEx)
{
Messagebox.Show(ex.Message);
}
catch(Exception ex)
{
Messagebox.Show(ex.Message);
}
In caso contrario il compilatore ti segnalerebbe l'hiding di IOException :
try
{
...
...
}
catch(Exception ex)
{
Messagebox.Show(ex.Message);
}
catch(IOException ioEx)
{
Messagebox.Show(ioEx.Message);
}
Quindi, morale della favole le eccezioni vanno gestite per ovviare a brutte situazioni a run-time ;)
La pagina di errore ASP.Net di cui parli è generata da eccezioni non gestite e non è un bel vedere!
Ciao! ;)
------------------------------------------
Ignazio Catanzaro
http://blogs.dotnethell.it/swdev/