Katalog ASP odkaz∙: Hledßte informace o ASP? Zkuste nßÜ nov² katalog odkaz∙ na ASP weby. Vφce zde...
TextLink.cz
VyÜlo: 4.12.2000 Rubrika: ASP - Security

Jak p°edejφt chybßm v ASP strßnkßch?
V Φlßnku si ukß₧eme, jak zabrßnit v²pisu neoΦekßvan²ch chyb na obrazovku nßvÜt∞vnφka. Dßle si popφÜeme objekt Err, pomocφ kterΘho lze chybßm postavit tvrdou bariΘru. Vφce v Φlßnku...

P°i programovßnφ VaÜφ webovΘ aplikace m∙₧e nastat mnoho problΘm∙. Zcela jist∞ je jeden z nich syntaktickß chyba, kterß oznamuje, ₧e jste Üpatn∞ zapsali n∞jak² p°φkaz nebo parametr. Tyto chyby jsou vyvolßny jazykem, kter²m byla aplikace napsanß. VBScript mß definovßno 53 a JScript mß definovßno 32 syntaktick²ch chyb.

Mezi nejvφce vyu₧φvanΘ jazyky pro programovßnφ WEB aplikacφ v ASP pat°φ p°edevÜφm JScript a VBScript.

Jednφm druhem chyb v ASP strßnkßch jsou RUNTIME - Errors. Tyto chyby se Vßm zobrazφ v p°φpad∞, kdy se k≤d pokusφ vykonat nesprßvnou operaci, kterß nenφ v souladu se sprßvnou syntaxφ danΘho jazyka.

Ve VBScriptu je t∞chto chyb celkem 65 a v JScriptu 76.

Samoz°ejm∞ existujφ chyby, kterΘ vytvß°ejφ nesprßvnΘ v²sledky atd..

Nφ₧e si ·kß₧eme, jak lze jednotlinΘ chyby potlaΦit, aby v p°φpad∞ neoΦekßvanΘ situace navÜt∞vnφk nevid∞l chybu, ale p°edem p°ipravenou hlßÜku, kterß jej informuje o skuteΦnosti, ₧e nenφ vÜe v po°ßdku.

On error resume next - P°φkaz, kter²m dßvßte najevo p°ekladaΦi, ₧e v p°φpad∞ kdy narazφ na chybu, zapomene na ni a pokraΦuje dßl.

Toto se dß zapsat takΘ pomocφ objektu Err. Dφky tomuto objektu lze v p°φpad∞ konkrΘtnφ chyby nastavil dalÜφ chovßnφ danΘ strßnky.

Objekt Err mß tyto vlastnosti:

Description - Udßvß nßzev chyby
Number - Vracφ Φφslo chyby.


P°φklad:
If Err.Number <> 0 then
    Response.Write("Nßzev zobrazovanΘ chyby je " & Err.description)
End If

Tyto °ßdky k≤du zp∙sob² v p°φpad∞ jakΘkoliv chyby vrßcenφ prohlφ₧eΦi danΘ hlßÜky v podmφnce If.

Pokud budete chtφt pou₧it potkaΦenφ chyb ve scriptu, kde jsou procedury, zßpis bude vypadat nßsledovn∞:

On Error Resume Next

sub nazev
         p°φkaz 1
         p°φkaz 2
         p°φkaz 3
end sub

sub nazev2
         p°φkaz 1
         p°φkaz 2
         p°φkaz 3 - zde je chyba
         p°φkaz 4
end sub

Nastane-li problΘm v druhΘ proced∙°e, znamenßto, ₧e se veÜker² jejφ b∞h ukonΦφ a ji₧ nebude dßle pokraΦovat.
Jestli₧e chcete nßsledovat v provßd∞nφ dalÜφch p°φkaz∙ v proced∙°e i kdy₧ obsahuje chybu, jednoduÜe zapφÜete On Error Resume Next do danΘ procedury. Tato varianta zp∙sob², ₧e chyba bude "zapomenuta" a operace bude pokraΦovat dalÜφm p°φkazem.

P°φÜt∞ si ukß₧eme, jak nejlΘpe optimalizovat svoje ASP strßnky, aby co nejmΘne zat∞₧ovali poΦφtaΦ na kterΘm jsou provozovßny.

Poznßmka korektora: Vß₧enφ Φtenß°i,
mo₧nß Vßm p°iÜel sloh tohoto Φlßnku trochu jin² ne₧ je jist²m standartem serveru NetDay.cz, ale autor tento Φlßnek psal v urΦitΘm stavu, kter² ho omlouvß :) ╚lßnek byl p°esto tΘm∞° cel² p°epsßn. Nu₧e, vyjßd°ete se k jeho obsahu a slohovΘ strßnce do komentß°∙.
PS: Nekamenujte ono opakovßnφ slova chyba. V prvnφ verzi textu se v n∞m vyskytovalo 48x :(

David Mßj
dmaj@cmail.cz



   Souvisejφcφ Φlßnky
TextLink.cz