Torben Brandt skrev:
> Jeg er ved at lave noget fejlhåndtering, og kigger derfor på
> On Error Resume Next.
> Jeg er bare lidt i tvivl om hvad den fortsætter med, hvis der
> skulle ske hvis der skete en fejl.
Resume Next betyder "fortsæt som om intet var hændt". Evt. fejl
ignoreres medmindre de er så alvorlige at siden ikke kan køre.
> Hvis jeg har følgende side:
> On Error Resume Next
> Response.Write "a"
> fejl = 1 / 0
> Response.Write "b"
> Så skriver den "ab"
Ja. Fejl-linjen eksekveres og giver en fejl, men Resume Next
betyder at scriptet bare kører videre.
> Er dette så korrekt: - Hvis der sker en fejl, og der står On
> Error Resume Next på det samme niveau, så fortsættes der bare.
Ja.
> - Hvis der sker en fejl, og der ikke står On Error Resume Next
> på samme niveau, så springes med det samme et niveau op indtil
> man kommer til et niveau med On Error Resume Next.
Ja.
> - Hvis der ikke står On Error Resume Next på niveau 0, og en
> fejl kommer hertil, så stopper eksekveringen og der skrives en
> fejl til brugeren.
Ja.
> Hvis nogle kender til try-catch-blokke i Java, er dette så det
> samme: VBS/ASP:
> On Error Resume Next
> linie 1
> linie 2
>
> Java:
> try{
> linie 1
> } catch (Exception e) {}
> try{
> linie 2
> } catch (Exception e) {}
> D.v.s. der kommer en try-catch omkring hvert kald på samme
> niveau som On Error Resume Next.
Det kan man måske godt sige. Jeg er ikke helt sikker på at
ækvivalensen holder hele vejen, men det ser rigtigt ud.
> Når der sker en fejl, så sættes Err.Number til et tal <> 0. Er
> det rigtigt bare at opfatte Err som en log over den seneste
> fejl, og Err.Clear derfor ikke vil have nogen effekt på hvad
> der vil blive eksekveret?
Tilsyneladende ikke.
Se evt. siden her vedr. fejlhåndtering:
<
http://www.4guysfromrolla.com/webtech/060399-1.shtml>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html