[ASP] on error resume next

Pagina: 1
Acties:
  • 170 views sinds 30-01-2008
  • Reageer

  • Tommel
  • Registratie: November 2000
  • Niet online
Wanneer er fouten optreden in een .asp pagina kun je deze mooi verbergen met On Error Resume Next.
Is er ook de mogelijkheid om zonder dat de gebruiker van de site dit ziet iets met de foutmelding te doen bv. te mailen of een andere actie te laten optreden?

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Je kan de error serverside afhangen, dus ja dat kan.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Ja natuurlijk kan dat.
code:
1
2
3
4
5
6
On Error Resume Next
' doe iets wat een error geeft
i = 1 / 0 ' division by zero
If Err.Number <> 0 Then
    ' doe hier wat je wil... mailen, entry in db toevoegen, etc
End If

Niet zo heel moeilijk dus :)

PS no offense trouwens, maar had je dit niet gewoon eerst zelf even kunnen proberen? Zo van, print een tekst als alles goed ging, en print een andere tekst als er een error was. Zie je meteen dat je dus afhankelijk van de fout bepaalde akties kan doen.

Exact expert nodig?


  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

code:
1
on error goto errorfunctie

:)

disjfa - disj·fa (meneer)
disjfa.nl


  • Tommel
  • Registratie: November 2000
  • Niet online
Ok bedankt, ik heb wat gemaakt.
Ik mail de Err.description en de bestandsnaam waar de fout in optrad maar nu wil ik ook de regelnummer meesturen waar de fout in optrad, kan dit ?
Normaal krijg je de regelnummer mooi te zien bij een asp foutmelding.

Verwijderd

Op donderdag 22 november 2001 10:21 schreef disjfa het volgende:
code:
1
on error goto errorfunctie

:)
Denk niet dat dit gaat werken in ASP

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Op donderdag 22 november 2001 12:48 schreef ml1 het volgende:

[..]

Denk niet dat dit gaat werken in ASP
Wedden van wel?

Verwijderd

:? Ben ik nu niet helemaal wakker of zie ik gewoon wat over het hoofd? Met VBScript krijg ik toch echt een fijne syntax error als ik doe:
code:
1
2
3
<%
on error goto errorfunctie 
%>

Tell me...

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
On Error Resume Next
On Error GoTo 0

Verwijderd

Ja maar dat is niet hetzelfde (vind ik)

Met on error goto 0 maak je gewoon de resume next ongedaan. Het is niet zo dat je (zoals bij VB) kan zeggen: On Error Goto MijnErrorFunctie, waarbij je naar die functie gaat als er een fout optreedt.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op donderdag 22 november 2001 13:44 schreef ml1 het volgende:
:? Ben ik nu niet helemaal wakker of zie ik gewoon wat over het hoofd? Met VBScript krijg ik toch echt een fijne syntax error als ik doe:
code:
1
2
3
<%
on error goto errorfunctie 
%>

Tell me...
Goto mag niet in Vbscript.
In VB kan een goto trouwens ook niet verwijzen naar een aparte functie, maar alleen naar een label binnen de functie waar de on error... wordt geplaatst.

Exact expert nodig?


Verwijderd

En dat zeg ik dus de hele tijd :)

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Maar in principe heb je dat goto ook helemaal niet nodig, het antwoord is ook al lang gegeven :)

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op donderdag 22 november 2001 14:12 schreef raptorix het volgende:
Maar in principe heb je dat goto ook helemaal niet nodig, het antwoord is ook al lang gegeven :)
Bijna :P
Hij vroeg ook nog om het regelnummer....

Nee, dat kan niet. Naja tenzij je in heel je script regelnummers gaat plaatsen. Beetje zinloos trouwens, als het goed is heb je die error afhandeling staan op plekken waar het fout zou kunnen gaan, dus kun je een leuk tekstje meemailen.
Of een soort van debugstringetje opbouwen, iets als
' blokje code
sDebug = sDebug & "Blokje 1 is goed doorlopen." & vbCrLf
' meer code
sDebug = sDebug & "Blokje 2 is goed doorlopen." & vbCrLf

Als dan in blokje 3 een error optreedt, en je mailt de debugstring mee, zie je dus meteen dat blokje 3 niet goed doorlopen is, en dat daar dus de error in zit.
Naja da's natuurlijk maar 1 van de mogelijkheden, beetje creatief denken en je verzint er zo nog tig bij waardoor je precies kan bijhouden waar de error optreedt in je script.

Al is natuurlijk het beste er gewoon voor te zorgen dat er helemaal geen errors optreden :P ;)

Exact expert nodig?


Verwijderd

Nog een kleine, misschien handige aanvulling. Je kan de standaard 500;100 error pagina vervangen door een eigen.
Een 500;100 error (Server Error) kun je aardig wat info uit halen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%
Option Explicit
Dim e    'As ASPError
Set e = Server.GetLastError()

With Response
   .Write "ASP Code: " & e.ASPCode
   .Write "Number: " & e.Number
   .Write "Source: " & e.Source
   .Write "Filename: " & e.FileName
   .Write "LineNumber: " & e.LineNumber
   .Write "Description: " & e.Description
   .Write "ASP Description: " & e.ASPDescription
End With
%>

Kan soms handig zijn.

  • Tommel
  • Registratie: November 2000
  • Niet online
Ok bedankt, zal eens wat dingen proberen.
Pagina: 1