[ASP] Ondervangen van een error

Pagina: 1
Acties:

  • Kamikazi
  • Registratie: Juli 2001
  • Niet online
Hallo allemaal,

In een ASP-script wil ik een error ondervangen door middel van een errorpagina, het probleem is namelijk dat er uit een script een error komt en die wil ik ondervangen, met een errorpagina of een response.write "er is een fout opgetreden bij invoer gegevens"

Ik heb geprobeerd:

if err.description <> "" then
response.redirect "error.asp"
end if

Dit stukje code heb ik helemaal onderaan mijn pagina gezet, helaas blijft ie nog steeds dezelfde error geven:

" Either BOF or EOF is True, or the current recorde has been deleted. Requested operastion requires a current record"

Wie weet hoe ik dit kan ondervangen d.m.v een pagina.

Alvast bedankt.

Kamikazi

p.s.: Ik had al een subject gevonden op het forum, helaas is hier 2 weken geleden als laatst in gereageerd, en mijn antwoord kon ik er niet in vinden.

[ Voor 5% gewijzigd door Kamikazi op 28-11-2002 10:18 . Reden: Typfoutje ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 20:46
Ik geloof dat de 'error-logging' *kuch* capaciteiten in ASP het niet toelaten om errors op te vangen die in functies aangeroepen worden, er wordt dus niet met 'error bubbling' of hoe wordt dat genoemd gewerkt. Error's die in een bepaalde functie optreden worden niet doorgegeven naar de 'caller'.
In ASP.NET wordt dat probleem verholpen, omdat errors/exceptions daar via de de try/catch constructies opgevangen worden.

https://fgheysels.github.io/


Verwijderd

Zet bovenaan je page:

On Error Resume Next

[ Voor 3% gewijzigd door Verwijderd op 28-11-2002 09:57 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 20:46
Verwijderd schreef op 28 november 2002 @ 09:57:
Zet bovenaan je page:

On Error Resume Next


Daarmee handel je geen errors af, maar negeer je ze.

https://fgheysels.github.io/


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Als je gewoon on error resume next gebruikt, dan kan je aan het einde van je functie iets gebruiken in de trend van.

code:
1
2
3
If Err <> 0 then
    DOE JE DING
End If

Verwijderd

whoami schreef op 28 november 2002 @ 10:03:

[...]


Daarmee handel je geen errors af, maar negeer je ze.
Je meent het :)

Maar da's de enige manier om ze een beetje te 'handlen' in vbscript..

Verwijderd

whoami schreef op 28 november 2002 @ 09:56:
Ik geloof dat de 'error-logging' *kuch* capaciteiten in ASP het niet toelaten om errors op te vangen die in functies aangeroepen worden, er wordt dus niet met 'error bubbling' of hoe wordt dat genoemd gewerkt. Error's die in een bepaalde functie optreden worden niet doorgegeven naar de 'caller'.
In ASP.NET wordt dat probleem verholpen, omdat errors/exceptions daar via de de try/catch constructies opgevangen worden.
Da's niet helemaal waar. Als je On Error Resume Next in je pagina zet, zal de error wel doorbubblen maar unhandled blijven, tenzij je zelf het checkt of Error.Number <> 0 is. Zo kun je dus wel buiten een functie een error die binnen de functie is ontstaan ondervangen.

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 23-08 12:39

Scharnout

Meuk

Als je pagina een fout maakt laat hij een standaardpagina van IIS zien. Je kan in je eigenschappen van je site in IIS die pagina veranderen net als een 404 pagina bv.

Zo laat hij bij mij netjes zien dat ik gewaarschuwd ben over de fout en plop gelijk een e-mail in mijn box omdat er een mailscrippie inzit. Makkie! :)

edit:

niet de hele testen he! :)

[ Voor 7% gewijzigd door Scharnout op 28-11-2002 13:30 ]

And Bob's your uncle ...


Verwijderd

in plaats van on error rusume next
kun je ook doen on error goto :Error

:Error

response.write ("Foutje")

Verwijderd

Je kan toch beter zorgen dat de foutmelding helemaal niet ontstaat. Als je controleerd of BOF or EOF True is dan kan je de gebruiker vervolgens een foutmelding geven of doorsturen naar een errorpage.

Verwijderd

Verwijderd schreef op 29 November 2002 @ 10:14:
Je kan toch beter zorgen dat de foutmelding helemaal niet ontstaat. Als je controleerd of BOF or EOF True is dan kan je de gebruiker vervolgens een foutmelding geven of doorsturen naar een errorpage.
Je kan een heleboel Run Time errors niet voorkomen. Denk bijv. aan het verliezen van een verbinding naar de database. Natuurlijk moet je runtime errors zoals ontstaan als je voorbij het einde van je RecordSet lopen wel voorkomen.

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 28-08 09:26
Verwijderd schreef op 29 November 2002 @ 10:22:
[...]
Je kan een heleboel Run Time errors niet voorkomen. Denk bijv. aan het verliezen van een verbinding naar de database. Natuurlijk moet je runtime errors zoals ontstaan als je voorbij het einde van je RecordSet lopen wel voorkomen.
kan wel door de site niet op een brake server te hosten.
edit:
vergeet code om die fout af te vangen


ASP:
1
2
3
4
5
6
7
8
9
if not RS.EOF then
blaat =  RS("dbveldje")
end if

if blaat <> "" then
'doe je ding
else
response.redirect("errorpagina.asp")
end if

[ Voor 22% gewijzigd door Kawa op 29-11-2002 10:34 ]


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

Kawa schreef op 29 november 2002 @ 10:27:
[...]


kan wel door de site niet op een brake server te hosten.

net alsof dat de enige reden daarvoor is?

Doet iets met Cloud (MS/IBM)


Verwijderd

Kawa schreef op 29 November 2002 @ 10:27:
[...]


kan wel door de site niet op een brake server te hosten.
IEDERE server is potentieel brak. Denk maar aan de 3 db crashes die GoT ondertussen te verwerken heeft gehad. Denk maar aan kapotte harddisks. Denk maar aan een kapotte voeding in de DB server. Denk maar aan het geheugen dat volloopt. Denk maar aan wat dan ook ... er is geen manier om alle mogelijk optredende run-time errors te ondervangen.

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 28-08 09:26
D2k schreef op 29 November 2002 @ 10:30:

[...]

net alsof dat de enige reden daarvoor is?
de foutmelding die topicstarter beschreef treed niet op als hier in de asp code een netje afhandeling voor gemaakt is.

wat ik wilde zeggen is dat je niet zomaar een server de schuld moet geven, maar eerst bij jezelf te rade moet gaan hoe je oplossingen bied voor foutjes van de server.

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 28-08 09:26
Verwijderd schreef op 29 november 2002 @ 10:31:
[...]

IEDERE server is potentieel brak.
Ik ben het niet eens met het struisvogel advies dat in dit topic gegeven wordt vandaar mijn opmerking.

Was mischien ietsje beknopt :>

Verwijderd

Kawa schreef op 29 november 2002 @ 10:37:
[...]


de foutmelding die topicstarter beschreef treed niet op als hier in de asp code een netje afhandeling voor gemaakt is.

wat ik wilde zeggen is dat je niet zomaar een server de schuld moet geven, maar eerst bij jezelf te rade moet gaan hoe je oplossingen bied voor foutjes van de server.
Uhm, nee, je zei oorspronkelijk alleen iets over een brakke server, dus gaf jij juist de server de schuld. De vraag was overigens al lang beantwoord, en mijn reaktie, waarop jij reageerde, gaf ook al aan dat alle af te voorkomen fouten afgevangen moeten worden.

Ik beargumenteerde slechts dat niet alle run time errors voorkomen kunnen worden, en dat er daarvoor ook fout afhandeling zou moeten zijn.

[ Voor 36% gewijzigd door Verwijderd op 29-11-2002 10:45 ]


  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 28-08 09:26
Verwijderd schreef op 29 November 2002 @ 10:44:
[...]

Uhm, nee, je zei oorspronkelijk alleen iets over een brakke server, dus gaf jij juist de server de schuld. De vraag was overigens al lang beantwoord, en mijn reaktie, waarop jij reageerde, gaf ook al aan dat alle af te voorkomen fouten afgevangen moeten worden.

Ik beargumenteerde slechts dat niet alle run time errors voorkomen kunnen worden, en dat er daarvoor ook fout afhandeling zou moeten zijn.
Mijn uitgangspunt was dat als alle mogelijke fouten door de code worden afgevangen en er nog steeds continue errors optraden het dan tijd is voor een andere server. Sporadische fouten blijf je houden.

Mijn fout, ik had dit er gelijk bij moeten zetten :) scheelt weer een hoop onnodige reply's...

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 16:38

oZy

code:
1
2
3
4
5
6
7
8
On Error Resume Next
Response.Buffer = True

<..code..>

If Err.Description <> "" Then
 Response.Redirect "Error.asp"
End If


werkt ipc prima, behalve het feit dat rest van het script wel eerst geparsed wordt. Dus dan zou je het if statement even in een function moeten stoppen en na iedere handeling aan moeten roepen.

Alternatief en meer info: http://www.devguru.com/Te...ipt/quickref/onerror.html
Pagina: 1