Avatar billede jespersc Nybegynder
10. december 1999 - 10:23 Der er 9 kommentarer og
1 løsning

Try..... Catch

Her
Er der en slags try ......
if....
end if
Catch...
Man kan bruge i vbscript. Jeg vil nemlig have min asp-side til at skrive en eller flere linier ud ved alle ikke definerede fejl....
Avatar billede pingo Nybegynder
10. december 1999 - 10:32 #1
Du kan lave en

OnError Resume Next

Og så derefter en

If Err.Number > 0 Then

End If

Det giver det samme - prøv at slå OnError Resume Next op i Roadmappen - der ligger en på http://aspdeveloper.net/

Avatar billede sone Nybegynder
10. december 1999 - 10:38 #2
...og husk af afslutte med

  ON ERROR GOTO 0
Avatar billede pingo Nybegynder
10. december 1999 - 10:41 #3
Øhh - sone - hvorfor?
Avatar billede jespersc Nybegynder
10. december 1999 - 10:59 #4
>>pingo
Kan du ikke lige sætte lidt kode til dine sætninger:
Hvor i min if else sætning skal det stå hvis jeg skal fange alle fejl der ikke kan gennemløbe min taltjek, i følgende kode...

if  len(cprnr) <>10 then
    Response.Write ("<h1>Fejl! Cprnr skal være 10 cifre</h1>")
else
    For i=1 To 10
    intsum=(Mid(Cprnr,i,1))*(Mid(inttjk,i,1))
    tjksum=tjksum+intsum
    Next

    If tjksum Mod 11<>0 Then
    Response.Write ("<h1>Fejl! Cpr ikke gyldigt....</h1>")
    else
    Response.Write ("Cpr gyldigt<br>")
    End if
   
End if
Avatar billede pingo Nybegynder
10. december 1999 - 11:04 #5
Du sætter OnError Resume Next der hvor du vil have den til at "hoppe" over alle fejl, og bare fortsætte - dvs. det ville være før den hvor du normalt laver en try - bortset fra at du ikke sætter det du vil have kørt ind i { }.

Så sætter du If Err.Number > 0 Then ind der hvor du normalt vil have din catch - altså der hvor du har kørt stykket igennem, og gerne vil checke om der var fejl i stykket!
Avatar billede jespersc Nybegynder
10. december 1999 - 11:05 #6
Det er sku lækkert at få hurtig og prof hjælp...
Jeg tror jeg har fået det til at gi' sig er følgende ikke rigtigt:
if  len(cprnr) <>10 then
    Response.Write ("<h1>Fejl! Cprnr skal være 10 cifre</h1>")
else
   
    For i=1 To 10
    on error resume next
    intsum=(Mid(Cprnr,i,1))*(Mid(inttjk,i,1))
    tjksum=tjksum+intsum
    Next

    If tjksum Mod 11<>0 Then
    Response.Write ("<h1>Fejl! Cpr ikke gyldigt....</h1>")
    else
    Response.Write ("Cpr gyldigt<br>")
    End if
If Err.Number > 0 Then
Response.Write ("<h1>Fejl! Cpr ikke gyldigt....</h1>")
End If
Avatar billede pingo Nybegynder
10. december 1999 - 11:07 #7
Jo - jeg ville nok flytte on error resume next en linie op - over din For..
Avatar billede jespersc Nybegynder
10. december 1999 - 11:07 #8
>>pingo
har accepteret dit orginale svar...jeg er bare lidt sløv...
Kan du anbefale nogle gode bøger, jeg har lavet lidt men vil gerne rigtigt i gang...
Avatar billede pingo Nybegynder
10. december 1999 - 11:10 #9
hmm - jeg har sku' aldrig læst bøger - så beklager..

men se på www.activeserverpages.dk - der er en masse reviews..
Avatar billede sone Nybegynder
10. december 1999 - 11:10 #10
pingo: Hvis man ikke afslutter RESUME NEXT, brugers der tid på at "være klar" til at fange eventulle fejl.
Afslutter man med GOTO 0 skulle det give en bedre performance.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester