Sì. Bisogna innanzi tutto aggiungere al progetto un file di tipo Global Application Class (Classe di applicazione globale), a cui è automaticamente assegnato il nome Global.asax: esso contiene, tra gli altri, il metodo Application_Error, che gestisce un evento generato quando nel sito si verifica una eccezione non gestita:
void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError().InnerException;
Server.ClearError();
Response.Write("Si è verificato un errore: " + ex.Message);
}
Per verificare il funzionamento di questo sistema, basta aggiungere un pulsante ad una pagina e, nella routine di gestore del suo evento Click, lanciare un’eccezione:
protected void Button1_Click(object sender, EventArgs e)
{
throw new ApplicationException("Esempio di errore non gestito.");
}
È importante ricordare che, per fare in modo che le eccezioni non gestite siano processate dall’evento Application_Error all’interno di Visual Studio, è necessario avviare l’applicazione Web senza debug, con la combinazione di tasti CTRL+F5. In caso contrario, l’eccezione attiverà automaticamente il debugger dell’ambiente di sviluppo.