Articoli Referenze Script FAQ Downloads ASP E-Commerce con ASP Menu Javascript Area Aziende Cocktail Registrazione domini



Gestione degli errori ASP con VBScript

Home + Articoli + Errori e Debug + Articolo # 19
Autore: Luca Ruggiero



ASP permette una comoda gestione degli errori attraverso il comando On Error Resume Next. Il suo utilizzo è molto semplice: è sufficiente impostare la dichiarazione all'inizio di una qualsiasi pagina ASP che, per eventi vari, potrebbe incorrere in un errore di run-time
<%@LANGUAGE = VBScript%>
<%
    On Error Resume Next
%>
<html>
...
In questo modo l'errore viene intercettato e scavalcato e la pagina continuerà la sua esecuzione senza eseguire lo script che ha generato errore e gli script collegati. Tuttavia da solo non è sufficiente a garantire una corretta gestione degli errori e nemmeno una soluzione alternativa al caso di errore.

Esiste l'oggetto Err che dispone di una serie di proprietà per gestire determinate caratteristiche dell'errore e determinarne il controllo. Segue un elenco delle principali proprietà dell'oggetto
  • Number - Recupera il numero dell'errore associatogli dal Web Server; se uguale a zero (0) vuol dire che non ci sono errori.
  • Description - Fornisce una breve ma utile descrizione del tipo di errore verificatosi.
  • Source - Identifica la porzione di codice che ha generato l'errore.
Facciamo un esempio
<%@LANGUAGE = VBScript%>
<%
    On Error Resume Next
%>
<html>
<body>

<%
    Dim a, b, ris
    a = 10
    b = 0
    ris = a / b
    If Err.Number = 0 Then
        Response.Write "Risultato: " & ris
    Else
        With Response
            .Write Err.Number & "<br>"
            .Write Err.Description & "<br>"
            .Write Err.Source
        End With
    End If
%>

</body>
</html>
Trattandosi di una divisione per zero, operazione aritmeticamente scorretta, lo script andrà in errore e, dato il codice utilizzato, restituirà a video il seguente messaggio
11
Divisione per zero
Errore di run-time di Microsoft VBScript 
Tuttavia il comando On Error Resume Next e l'oggetto Err non sono propedeutici o legati tra loro da particolari vincoli e possono operare insieme o singolarmente senza creare problemi o migliorie l'uno all'altro.

© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones