Condividi tramite


Procedura: gestire errori a livello di pagina

Aggiornamento: novembre 2007

Se possibile, è consigliabile gestire gli errori in blocchi Try/Catch all'interno del codice, perché è più semplice risolvere un problema nel punto in cui si verifica. Se l'utente può contribuire alla risoluzione del problema, la pagina deve essere riportata allo stesso posto in modo che l'utente disponga di contesto per capire cosa fare.

Un gestore a livello di pagina riporta alla pagina, ma nella pagina non c'è più niente perché le istanze dei controlli non vengono create. Per fornire informazioni agli utenti, è necessario scriverle nelle pagina.

È possibile utilizzare un gestore degli errori a livello di pagina per registrare errori non gestiti o portare l'utente a una pagina che può visualizzare informazioni utili.

Nell'esempio di codice riportato di seguito viene illustrato un gestore per l'evento Error in una pagina Web ASP.NET. Questo gestore rileva tutte le eccezioni non ancora gestite all'interno di blocchi Try/Catch nella pagina.

Dopo avere gestito un errore, è necessario cancellarlo chiamando il metodo ClearError dell'oggetto Server (classe HttpServerUtility).

Esempio

Questo gestore filtra alla ricerca di tipi specifici di eccezioni. Per un'eccezione ArgumentOutOfRangeException, il gestore scrive testo sulla pagina, fornisce un collegamento alla pagina, registra l'errore e notifica gli amministratori di sistema. Per un'eccezione InvalidOperationException, il gestore trasferisce semplicemente l'eccezione a una pagina di errore generica. Per qualsiasi altro tipo di eccezione, il gestore non fa niente consentendo così al sito di andare automaticamente alla pagina generica specificata nel file Web.config. Il codice filtra le eccezioni importanti per l'applicazione.

L'esempio riportato di seguito è preso da un esempio di codice completo in Esempio completo di gestori di errori.

Sicurezza

Utilizzare Elemento <customErrors> per visualizzare i messaggi di errore dettagliati solo per gli utenti locali.

Accertarsi di non visualizzare informazioni sugli errori utilizzabili da utenti malintenzionati per compromettere l'applicazione. Per informazioni dettagliate, vedere Procedura: visualizzare messaggi di errore protetti.

Vedere anche

Attività

Procedura: gestire errori a livello di applicazione

Concetti

Esempio completo di gestori di errori