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!