webForumDet fria alternativet
Logga in / Bli medlem

Felhantering

ASP

2 svar · 225 visningar · startad av Ankman

Medlem sedan juni 2002116 inlägg
Trådstart#1

Hur hanterar man eventuella fel på bästa sätt?

Jag försöker att använda On Error Resume Next och sedan fånga upp felen och skicka ett mail till mig själv med felinformation som jag trodde jag skulle få med Server.GetlastError(). Det verkar dock som aspError-objektet ät tomt. Är jag helt fel ute eller?

Här är lite kod:

<%

If Err.Number <> 0 Then

'Call the GetLastError() method to trap the error
dim objerr
set objerr = Server.GetLastError()

'The variable objerr now contains the ASPError object

strBody = "ASP Code = " & objerr.ASPCode
strBody = strBody & vbcrlf & vbcrlf
strBody = strBody & "Number = " & objerr.Number
strBody = strBody & vbcrlf & vbcrlf
strBody = strBody & "Source = " & objerr.Source
strBody = strBody & vbcrlf & vbcrlf
strBody = strBody & "Filename = " & objerr.File
strBody = strBody & vbcrlf & vbcrlf
strBody = strBody & "LineNumber = " & objerr.Line

Set objEmail = Server.CreateObject("Dundas.Mailer")

'add specified To field to collection, if user did not enter a value redirect to the error page
objEmail.TOs.Add "jag@telia.com"

'set FromAddress property
objEmail.FromName = "Avsändare"
objEmail.FromAddress = "a.a.se"
'set the Subject property
objEmail.Subject = "Felmeddelande"
'set the message body
objEmail.Body = strBody
'now send the email
objEmail.SendMail
Set objEmail = Nothing
				
Err.Clear
				
Response.Redirect("error.asp?msg=" & Server.URLEncode("Ett ov&auml;ntat fel har intr&auml;ffat. Felet &auml;r rapporterat till administrat&ouml;ren"))
End If
%>

Mailet jag får ser ut så här:

ASP Code =
Number = 0
Source =
Filename =
LineNumber = 0

Tacksam för hjälp

Medlem sedan dec. 19996 721 inlägg
#2

Om du kör On Error Resume Next så skapas aldrig ASPError-objektet. Använd den information som ligger i Err-objektet i stället.
Alternativ gör du din egen Status 500-errorsida där du har tillgång till ASPError.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q299981

Medlem sedan juni 2002116 inlägg
#3

OK. Det jag saknade i err-objektet är på vilken rad felet har inträffat. Det går inte att få fram detta va? Jag tror inte att jag har möjlighet att skapa en egen errorsida, skall kolla med webbhotellet.

260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)