Avatar billede busschou Praktikant
18. juli 2005 - 22:45 Der er 24 kommentarer og
1 løsning

Fejl håndtering og log af samme

Jeg har kigget omkring efter fejl håndtering i asp
Så vidt jeg kan se er eneste mulighed at bruge On Error Resume Next
Jeg har forstået det som om at man skal angive dette før hver eneste "tvivlsomme" kode for at kunne registrere fejlen
Er det virkelig korrekt?
Jeg kunne godt tænke mig total set på hele min side at lave eet stort error tjek
Således at hvis der noget som helst sted sker en fejl, så noteres denne i en log, med diverse oplysninger om fejlen
Er det overhovedet muligt i asp?
I bund og grund er det ok med mig at brugeren får en fejlmedelelse og at scriptet stopper ved en fejl
Men jeg vil gerne have en log over disse fejl
Og så orker jeg ikke skulle sætte error håndtering ind overalt
Kunne man evt gøre det gennem global.asa
Altså have en slags error listener siddende på applications nivau?
Eller er jeg på herrens mark ? ;o)
Avatar billede softspot Forsker
18. juli 2005 - 22:55 #1
Hvis du benytter JScript på serveren kan du benytte "rigtig" exception-handling med try...catch...finally. Det giver dig væsentlig bedre muligheder end i VBScript. På den anden side kunne man drage visse ligheder mellem flg. kode:

[JScript]:

try {
  // et forsøg på at udføre en operation
}
catch(e) {
  // håndtering af en fejl...
}

og
[VBScript]:

On Error Resume Next

' et forsøg på at udføre en operation
if err.number <> 0 then
  ' håndtering af en fejl...
  ' evt. en GOTO label_hvor_fejlhåndtering_starter... (virker muligvis i VBScript).
end if
Avatar billede steent Nybegynder
18. juli 2005 - 22:56 #2
Kør disse 2 linier på din server, det slår eventlogging til af dien ASP applikationer

cscript c:\Inetpub/AdminScripts/adsutil.vbs set /W3SVC/AspLogErrorRequests "true"
cscript c:\Inetpub/AdminScripts/adsutil.vbs set /W3SVC/AspErrorsToNTLog "true"
Avatar billede steent Nybegynder
18. juli 2005 - 22:57 #3
dien = dine

Altså du kan se fejlene i event loggen ved brug af ovenstående 2 linier
Avatar billede softspot Forsker
18. juli 2005 - 22:59 #4
Nå, kan lige se at Goto ikke fungerer i VBScript...
Avatar billede busschou Praktikant
18. juli 2005 - 22:59 #5
steent >> nu er det ikke "min" server ;o) , så jeg kan ikke lige se hvordan jeg skulle kunne køre de linjer? ...desværre

softspot >> jeg kører vbscript, har egentlig aldrig tænkt på om jeg også kan køre JScript, men pointen er vel lidt den samme som du også siger. Min pointe er så om følgende - som er det jeg ønsker - er særlig smart
--
try {
  500-1000 linjer kode
}catch(e){
  håndtering
}
--
Avatar billede softspot Forsker
18. juli 2005 - 23:01 #6
Er det i øvrigt ikke mest passende at håndtere fejl så tæt på kilden som muligt, da det så er lettere at finde ud af hvad årsagen til fejlen er... sådan har jeg i det mindste altid lært det :)
Avatar billede busschou Praktikant
18. juli 2005 - 23:01 #7
softspot >> der er enten On Error Resume Next, eller On Error GoTo 0
Avatar billede softspot Forsker
18. juli 2005 - 23:02 #8
Ok, du svarede vel egentlig på mit spørgsmål med dit eget post :)
Avatar billede busschou Praktikant
18. juli 2005 - 23:03 #9
softspot >> jo i princippet er jeg enig, men scriptet stopper jo som default med en fejlbesked til brugeren, uanset hvor denne fejl opstår. Derfor jeg tænkte om det ikke er muligt overordnet blot at logge de fejl
Avatar billede softspot Forsker
18. juli 2005 - 23:03 #10
Ja, jeg kunne bare ikke huske om goto-kommandoen fungerede i VBScript... men det gjorde den ikke (iflg. Microsoft) :)
Avatar billede softspot Forsker
18. juli 2005 - 23:04 #11
Jeg er ikke helt sikker på om jeg forstår dig korrekt, men hvis du håndterer fejlen stopper scriptet ikke nødvendigvis - det er jo ikke alle fejl der er super kritiske :)
Avatar billede busschou Praktikant
18. juli 2005 - 23:07 #12
Jeg er ikke interesseret i at lade scriptet køre videre ved fejl
Jeg er interesseret i at brugeren får den sædvanlige fejlmeddelelse, hvad enten det så er at databasen ikke kan benyttes, eller at syntaksen er forkert, eller filen ikke eksisterer - det er fint nok at brugeren får den fejl og det er fint nok at scriptet stopper

Men det ville være rart hvis jeg kunne følge med i hvor mange fejl der kommer, hvornår de kommer og hvorfor de kommer, samt om nogen af dem måske er mere kritiske end andre

Men det kan selvfølgelig så godt være at det kun kan lade sig gøre hvis man selv har kontrol over serveren :o/
Avatar billede softspot Forsker
18. juli 2005 - 23:10 #13
Fair nok... så havde jeg ikke helt forstået dit behov :)
Avatar billede busschou Praktikant
18. juli 2005 - 23:10 #14
altså en "generel" log over error events

Jeg kunne jo selvfølgelig selv lave den, men så skulle jeg samtlige steder i koden lave disse "resume next" blokke overalt, det virker omvendt som "overkill"
Avatar billede softspot Forsker
18. juli 2005 - 23:12 #15
Men er det så ikke netop det steent er inde på i sine posts...?
Avatar billede busschou Praktikant
18. juli 2005 - 23:17 #16
jo det er muligt
Men da det ikke er min egen server, men et lejet webhotel, hvordan skulle jeg så kunne eksekvere kode på serveren?
Og hvis jeg endelig fik lov at se deres log, ville jeg så ikke se loggen over samtlige webhoteller de har - usmart måske?

Og så synes jeg det er vildt irriterende hvis jeg ikke selv kan lave en error overvågning. Det er ikke fordi det er livsnødvendig eller noget. Jeg synes bare det ville være rart såmend
Avatar billede softspot Forsker
18. juli 2005 - 23:32 #17
Godt ord igen... jeg sov lige lidt i timen der. Du havde naturligvis insinueret at du ikke havde kontrol over serveren - sorry :)

Jeg kan ikke lige komme i tanke om hvordan du så ellers skulle håndtere det (altså ud over at skifte til .NET ;))...
Avatar billede busschou Praktikant
18. juli 2005 - 23:35 #18
hæhæ, hvilket så vil kræve serverskift og vel sagtens total omskrivning af koden :p

Men ja jeg har da luret at når jeg har googled ,så dukker der en del løsninger op i .net
Avatar billede busschou Praktikant
18. juli 2005 - 23:36 #19
meen jeg tror nu at hvis jeg på et tidspunkt skal skifte så bliver det til php, men det bliver ikke lige med det her da det er organisations arbejde og derfor billigt site :o)
Avatar billede softspot Forsker
18. juli 2005 - 23:40 #20
Blot nysgerrig: Hvormeget objektorientering understøtter PHP...?
Avatar billede busschou Praktikant
18. juli 2005 - 23:43 #21
Jeg er ikke php haj, og ved ikke lige hvad du mener præcis?
Men man kan da lave sine egne klasser osv
Jeg tror php er et skridt mere "nede i maskineriet" end asp, men det er blot en fornemmelse jeg har
Avatar billede softspot Forsker
18. juli 2005 - 23:48 #22
Jeg tænkte mere på dit valg mellem ASP.NET og PHP. Det er min opfattelse at ASP.NET er så godt integreret med systemet som det kan være (uden at kende noget til PHP i øvrigt). Derfor er jeg nysgerrig for hvorfor dit valg ville falde på PHP frem for .NET - det var såmænd ikke andet :)
Avatar billede busschou Praktikant
18. juli 2005 - 23:52 #23
tja det ved jeg egentlig ikke, i forhold til normal asp er jeg ikke i tvivl om at jeg tror at php er bedre
( det lød meget godt ikke, jeg er ikke i tvivl om noget jeg tror :o/ hehe )
Men jeg er ikke i dybden med php, nogen siger det minder om C og i det har jeg da kunne se lidt genkendelse i hist og pist i den smule jeg har set til det af og til

Men jeg kender helder ikke asp.net, så derfor er det svært at sige. Fordelen ved .net skulle eftersigende også være at man selv kan vælge sproget, altså om man vil bruge vbscript eller c# eller lign, eller tager jeg fejl?

Men den tid den sorg/glæde , det er ikke noget som står lige for døren
Avatar billede softspot Forsker
19. juli 2005 - 00:21 #24
Hvis du vil igang med .NET kan jeg kun anbefale dig at komme igang igår ;)

Det er min erfaring at det tager lang tid at lære i dybden (primært på grund af tyngden i frameworket).

Mht. sprogvalg synes jeg at noget af det elegante ved .NET er, at man vælger det sprog man befinder sig bedst med (stort set :)). Så kan man benytte sig af den VBScript-, JScript-, Delphi-, C#-, C++- eller hvilket-sprog-man-nu-kender-viden man nu ligger inde med. Ud over det så er der hele klassehierarkiet som giver et solidt fundament at udvikle videre på (herunder udvide allerede eksisterende funktionalitet eller bare benytte den der allerede er implementeret).

Bemærk at jeg ikke siger dette ikke er muligt i PHP, men det er de fordele jeg ser i .NET... :)

Anyways! Held og lykke med din logningsudfordring :)
Avatar billede busschou Praktikant
28. juli 2005 - 19:15 #25
oki doki ingen forslag? :o(
Det er nok ikke muligt så - æv
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