Corsi on-line

Gestione degli errori nelle applicazioni ASP.NET

  • CommentiScrivi un commento
  • ForumDiscuti sul forum
  • Prev
  • NextGestione degli errori nelle applicazioni ASP.NET
    Pagina 2 di 5

Tutte le applicazioni che utilizziamo quotidianamente sono soggette ad errori e quelle ASP.NET non fanno eccezione. Prima o poi l’esecuzione delle stesse può essere interrotta da un errore di programmazione, da un dato non valido, da un evento inaspettato o da un problema hardware. I programmatori più esperti sono consapevoli che i bug e gli errori delle applicazioni sono un elemento da gestire attentamente, attraverso un’attenta attività di testing ma soprattutto scrivendo codice che gestisca opportunamente tali problematiche.

Gli errori possono verificarsi in varie situazioni e quelli più comuni includono ad esempio i tentativi di divisione per zero ed i tentativi di connessione a determinate risorse quali file che non esistono o database per i quali non vengono specificate credenziali di accesso valide. Un’eccezione diffusissima è la null reference exception, che solitamente si verifica quando un programma cerca di utilizzare un oggetto non inizializzato.

L'articolo continua dopo la pubblicità

Vediamo un esempio di quest'ultimo tipo di eccezione

//Definiamo una variabile connUno e creiamo l’oggetto
private SqlConnection connUno = new SqlConnection();

//Definiamo una variabile connDue ma non creiamo l’oggetto
private SqlConnection connDue;

//Creiamo un semplice metodo che agisce sulle due variabili
public void MetodoTest()
{
//Questa istruzione funziona perchè l’oggetto connUno è stato creato
connUno.ConnectionString = "parametri";

//Questa istruzione non funziona perchè l’oggetto connDue non è 
//stato creato e genera un’eccezione di tipo null reference poichè 
//non è possibile modificare una proprietà di un oggetto che non esiste
connDue.ConnectionString = "parametri";
}
Quando si manifesta un errore nel codice .NET verifica se siano presenti o meno gestori di errori nel contesto in cui esso si verifica. Se non vengono individuati gestori viene terminata l’elaborazione della pagina e viene visualizzata nel browser una pagina d’errore il cui contenuto, come vedremo, dipende dal fatto che la richiesta sia fatta dalla macchina locale o dal client remoto.

Se un errore è il risultato di un input non valido o del malfunzionamento di un componente di terze parti una pagina d’errore può servire a salvaguardare l’apparenza professionale dell’applicazione, ma se la stessa viene progettata e sviluppata attentamente non dovrebbe mai mostrare pagine d’errore per sui problemi interni. L’applicazione dovrebbe essere in grado di identificare l’errore e, ove possibile, porvi rimedio.

Per ottenere questo risultato i linguaggi di programmazione .NET supportano la cosiddetta gestione strutturata degli errori. Ciò significa che quando si verifica un errore in un’applicazione il .NET Framework crea un oggetto che rappresenta la problematica riscontrata ed è possibile ottenere ed analizzare tale oggetto utilizzando un gestore di eccezioni (exception handler).

La gestione strutturata delle eccezioni presenta alcune caratteristiche fondamentali:

  • Eccezioni basate su oggetti - Ogni eccezione fornisce una significativa quantità di informazioni diagnostiche concentrate in un oggetto invece di un singolo messaggio o di un codice d’errore.
  • Struttura a blocchi – Le eccezioni vengono gestite tramite una struttura a blocchi che rende molto facile attivare e disattivare differenti gestori di eventi per differenti sezioni di codice e quindi gestire i diversi errori individualmente.
  • Struttura a livelli – I gestori delle eccezioni possono essere disposti in un determinato ordine per permettere di verificare prima la presenza di specifici errori e se tale ricerca non va a buon fine ottenere comunque un errore generico.
  • Integrazione con il .NET Framework – La gestione delle eccezioni è valida per tutti i linguaggi del .NET Framework e quindi ad esempio un componente .NET scritto in C# può generare un’eccezione che può essere ottenuta da una pagina web scritta in VB.NET.

Corsi
  • Corso ASP.NET
    Corso ASP.NET
    Corso completo per la creazione di applicazioni Web. A partire da 39 €
  • Corso C#
    Corso C#
    Creare applicazioni in ambiente .NET con il linguaggio C sharp. A partire da 39 €
  • Corso MS SQL Server
    Corso MS SQL Server
    Gestire database con Microsoft SQL Server. A partire da 39 €
Vedi anche...
Guide