LIPS - Laboratorio di Ingegneria per la Produzione del Software
a- a+

Gli errori

Una delle caratteristiche di Java è quella di potergestire le eccezioni, cioè tutti quelli eventi che nondovrebbero accadere in una situazione normale e che non sonocausati da errori da parte del programmatore. Dato che JSPderiva esplicitamente da Java, e ne conserva lecaratteristiche di portabilità e robustezza, questoargomento è di grande rilevanza.

Errori al momento della compilazione
Questo tipo di errore si verifica al momento della primarichiesta, quando il codice JSP viene tradotto in servlet.Generalmente sono causati da errori di compilazione ed ilmotore JSP, che effettua la traduzione, si arresta nelmomento in cui trova l'errore ed invia al clientrichiedente una pagina di "Server Error" (o errore500) con il dettaglio degli errori di compilazione.

Errori al momento della richiesta
Questi altri errori sono quelli su cui ci soffermeremoperché sono causati da errori durante l'esecuzionedella pagina e non in fase di compilazione. Si riferisconoall'esecuzione del contenuto della pagina o di qualchealtro oggetto contenuto in essa. I programmatori java sonoabituati ad intercettare le eccezioni innescate da alcunitipi di errori, nelle pagine JSP questo non èpiù necessario perché la gestionedell'errore in caso di eccezioni viene eseguitaautomaticamente dal servlet generato dalla pagina JSP. Ilcompito del programmatore si riduce al creare un file .jspche si occupi di gestire l'errore e che permetta inqualche modo all'utente di tornare senza troppi problemiall'esecuzione dell'applicazione JSP.

Creazione di una pagina di errore
Una pagina di errore può essere vista come unanormale pagina JSP in cui si specifica, tramitel'opportuno parametro della direttiva page, che si trattadel codice per gestire l'errore. Ecco un sempliceesempio: PaginaErrore.jsp


<%@ page isErrorPage = "true" %>Siamo spiacenti, si è verificato un erroredurante l'esecuzione:<%= exception.getMessage()%>


A parte la direttiva page il codice Java è composto daun'unica riga che utilizza l'oggetto exception(implicitamente contenuto in tutte le pagine di errore)richiamando l'oggetto getMessage() che restituisceil messaggio di errore.

Uso delle pagine di errore
Perché nelle nostre pagine JSP venga utilizzata unadeterminata pagina di errore l'unica cosa da fareè inserire la seguente direttiva:

    <% page errorPage = "PaginaErrore.jsp" %>

che specifica quale pagina di errore deve essere richiamatain caso di errore in fase di esecuzione.