ASPcenter.net

18 febbraio 2010

Gestione degli errori VBScript

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.

Nessun commento »

Non c'è ancora nessun commento.

RSS feed dei commenti a questo articolo. TrackBack URL

Lascia un commento

ASPcenter.net è il blog italiano su ASP, ASP.Net, VB.Net, C# e Visual Studio - Funziona con WordPress