您的位置:首页 > 编程语言 > ASP

ASP技巧研究:ASP Error对象的相关知识

2008-05-19 13:44 330 查看
如果一个脚本或ASP错误出现在定制错误网页中,IIS将仅仅返回一个与错误代码500:100对应的一般性消息。这可能是脚本引擎自己的错误消息,或者只是相当简单的消息:“InternalServerError”。不会再次重新载入定制的错误网页。  包含错误的网页的全部环境将传送给定制错误网页。也就是说,可以使用存储在任何ASP内部对象集合或属性中的值。例如,如果检索来自Request.ServerVariables集合的HTTP_REFERER值,它将反映调用原网页的网页(即在错误出现之前的网页)的URL。在服务器把执行转到错误网页时,这个值不会发生变化,并且它将不包含当错误发生时正在执行的网页的URL。
  同样,SCRIPT_NAME值将是包含该错误的网页的名字,而不是错误网页的URL。在一个错误网页已经装入时,通过检查浏览器地址栏中的URL,可以对此进行确认。但是在原网页的脚本变量中存储的值,在定制的错误网页中都是不可用的。
  如果原ASP网页正在一个事务内运行,即在网页的最前面包含有一个<%@TRANSACTION=”…”%>指令,也应该确定是否需要在网页中采取一些方法,以退出该事务。例如可以调用内置ObjectContext对象的SetAbort方法:
  objectContext.SetAbort  
  嗯,前端时间发过几千垃圾邮件,全是错误处理的
OptionExplicit
Response.AddHeader"StatusCode","200"
Response.AddHeader"Reason","OK"
OnErrorResumeNext
Response.Clear
DimobjError
SetobjError=Server.GetLastError()
dimobjErr,objMail,html
setobjErr=Server.GetLastError()
SetobjMail=CreateObject("CDONTS.NewMail")
objMail.From="s1z2d3s1@163.com"
objMail.to="5do8@5do8.com"
objMail.BodyFormat=0
objMail.MailFormat=0
objMail.Subject="QOPError500"
html="<fontface='Verdana,Arial,Helvetica,sans-serif'><br>"
html=html&"<p>Erroroccuredat:"&now
html=html&"<p>Referredfrom:"&request.ServerVariables("HTTP_REFERER")
html=html&"<p>Url:"&request.ServerVariables("URL")
html=html&"<p><b>Category:</b></p>"&objErr.Category
html=html&"<p><b>Filename:</b></p>"&objErr.File
html=html&"<p><b>ASPCode:</b></p>"&objErr.ASPCode
html=html&"<p><b>Number:</b></p>"&objErr.Number
html=html&"<p><b>Source:</b></p>"&objErr.Source
html=html&"<p><b>LineNumber:</b></p>"&objErr.Line
html=html&"<p><b>Column:</b></p>"&objErr.Column
html=html&"<p><b>Description:</b></p>"&objErr.Description
html=html&"<p><b>ASPDescription:</b></p>"&objErr.ASPDescription
html=html&"<blockquote>"
html=html&"AllHTTP:"&Request.ServerVariables("ALL_HTTP")
html=html&"</blockquote></font>"
objMail.Body=html
objMail.Send
objErr.clear
SetobjMail=Nothing
SetobjErr=Nothing
response.write(html)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息