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
嗯,前端时间发过几千垃圾邮件,全是错误处理的
同样,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)
相关文章推荐
- ASP技巧研究:ASP Error对象的相关知识
- ASPError(err)对象的相关基础知识
- err和ASPERROR对象----知识小总结和捉捕
- ASP的Error对象知识简析
- ASP的Error对象的知识
- ASP.NET页面跳转相关知识
- asp创建对象及中文显示解决技巧
- c++类和对象相关基础知识
- asp实现保值的技巧(客户端javascript与服务端的相关交互)
- ASP.NET内核几大对象、ASP.NET核心知识(6)
- kindeditor4.1.4 asp.net C# 配置及相关使用技巧 附带读取txt文本方法
- ASP.NET内核几大对象、ASP.NET核心知识(7)--转载
- ASP.NET页面跳转相关知识
- 我的个人知识管理工具一览及相关经验技巧
- asp.net集合属性控件相关技巧
- ASP.Net控件模板中根据绑定对象的属性控制元素隐现技巧
- ASP创建对象的技巧
- ASP.net 获得客户端的IP相关知识
- office办公技巧相关知识
- asp创建对象及中文显示解决技巧