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

如果一个脚本或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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值