Active Server Pages

ASP-koulutus / kurssit v. 2008

Kurssit saatavilla kautta Suomen. Tule, tutustu ja varaa oma koulutustapahtumasi jo tänään. Kurssit järjestää IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat

 

ASP:n virheenkäsittely

On Error Resume Next

On Error Resume Next -lauseke on samanaikaisesti vaarallisimpia ja hyödyllisimpiä mitä VBScript-pohjainen ASP voi tarjota. Sen avulla käsketään ASP:n virheidenkäsittelyä ohittamaan mahdolliset virhetilanteet ja jatkamaan skriptin suoritusta (nk. brute force). Joissain tilanteissa tämänkaltainen käytäntö voi olla hyödyllinen, mutta yleisluontoisesti sen käyttämistä tulisi välttää. Vaikka ASP-sivu ei komennon ansiosta tuotakaan virhettä, ei se tarkoita että virhe olisi korjattu - siitä ei ainoastaan kerrota.

Virheidenkäsittelyn saa pois päälle sijoittamalla ao. komennon sivun alkuun välittömästi direktiivien ja Option Explicit lausekkeen jälkeen:

<% On Error Resume Next %>

Err -olio

Varsinainen virheenkäsittely ASP:ssä toteutetaan nk. Err-objektin avulla. Sen käyttäminen yksinkertaisimmillaan etenee seuraavasti:

<%
...
' halutaan tarkistaa onko yllä sattunut virhetilanne: 
If Err.Number <> 0 Then
     Response.Write("Virhekoodi -> " & Err.Number)
     Response.write("<br />Lähde -> " & Err.Source)
     Response.Write("<br />Virheen kuvaus   -> " & Err.Description)
     Err.Clear
End If
...
%> 

Yllä oleva koodi tulostaa loppukäyttäjälle kohtalaisen kryptisen virheilmoituksen, mutta se on hyvä alku kohti parempaa, hallittua virheenkäsittelyä. Yllä olevaa yksinkertaista rutiinitarkastusta voi mukauttaa esim. esittämällä loppukäyttäjälle "siistityn virheilmoituksen" (esim. Err.Raise-menetelmän avulla, tai tulostamalla vain tiedon virheestä) ja välittämällä virheen tarkat tiedot esim. lokitiedostoon, sähköpostitse palvelun ylläpitäjälle tms.

Tutustu artikkelin muihin osiin:
»»» ASP »»» Muuttujien määrittäminen ja koodauskonventio
»»» ASP »»»On Error Resume Next ja Err-olio
»»» ASP »»»MS Script Debugger / Editor

Tallenna tämä sivu kirjanmerkkeihin!

 

2kmediat.com, ©2000-2008 Koulutus- ja konsultointipalvelu KK Mediat.
Tekijänoikeuksia koskeva tiedonanto | Tietosuojalausunto | Sivukartta