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.