网络编程
位置:首页>> 网络编程>> Asp编程>> 自定义asp错误信息的显示

自定义asp错误信息的显示

作者:editer  发布时间:2007-09-13 12:33:00 

标签:错误,自定义

 asp程序出错后,错误提示不是很清楚明白,让人摸不着头脑,用下面方法看看有没有帮助(此法目前只适合除ADO错误外的错误)
  步骤一,用编辑器打开c:winnt\helpiis\Helpcommon\500-100.asp
  将它另存为500-101.asp备份(以便日后恢复)
  步骤二,将下面的代码覆盖500-100.asp原文件,保存退出
  步骤三,创建新文件test.asp,添加如下代码
  <% response.write now(1)%>,存盘退出
  步骤四,在浏览器中输入localhost/test.asp查看结果
  
  500-100.asp的新代码:

 

<%@ language="VBScript" %> 
  <% 
   Option Explicit 
   
   Const lngMaxFormBytes = 200 
   
   Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP 
   Dim strMethod, lngPos, datNow, strQueryString, strURL 
   
   If Response.Buffer Then 
   Response.Clear 
   Response.Status = "500 Internal Server Error" 
   Response.ContentType = "text/html" 
   Response.Expires = 0 
   End If 
   
   Set objASPError = Server.GetLastError 
  %> 
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> 
   
  <html dir=ltr> 
   
  <head> 
  <style> 
  a:link {font:9pt 宋体; color:FF0000} 
  a:visited {font:9pt 宋体; color:#4e4e4e} 
  </style> 
   
  <META NAME="ROBOTS" CONTENT="NOINDEX"> 
   
  <title>本页出错</title> 
   
  <META HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312"> 
  <META NAME="MS.LOCALE" CONTENT="ZH-CN"> 
  </head> 
   
  <script> 
  function Homepage(){ 
  <!-- 
  // in real bits, urls get returned to our script like this: 
  // res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm 
   
   //For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm" 
   DocURL=document.URL; 
   
   //this is where the http or https will be, as found by searching for :// but skipping the res:// 
   protocolIndex=DocURL.indexOf("://",4); 
   
   //this finds the ending slash for the domain server 
   serverIndex=DocURL.indexOf("/",protocolIndex + 3); 
   
   //for the href, we need a valid URL to the domain. We search for the # symbol to find the begining 
   //of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker. 
   //urlresult=DocURL.substring(protocolIndex - 4,serverIndex); 
   BeginURL=DocURL.indexOf("#",1) + 1; 
   urlresult=DocURL.substring(BeginURL,serverIndex); 
   
   //for display, we need to skip after http://, and go to the next slash 
   displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex); 
   document.write( ’<A HREF="’ + escape(urlresult) + ’">’ + displayresult + "</a>"); 
  } 
  //--> 
  </script> 
   
  <body bgcolor="FFFFFF"> 
   
  <ul> 
  <li>错误类型:<br> 
  <% 
   Dim bakCodepage 
   bakCodepage = Session.Codepage 
   Session.Codepage = 936 
   Response.Write Server.HTMLEncode(objASPError.Category) 
   If objASPError.ASPCode > "" Then Response.Write Server.HTMLEncode(", " & objASPError.ASPCode) 
   Response.Write Server.HTMLEncode(" (0x" & Hex(objASPError.Number) & ")" ) & "<br>" 
   
   If objASPError.ASPDescription > "" Then Response.Write Server.HTMLEncode(objASPError.ASPDescription) & "<br>" 
  %> 
  </li> 
  <p> 
  <li>错误位置:<br> 
  <% 
   blnErrorWritten = False 
   
   ’ Only show the Source if it is available and the request is from the same machine as IIS 
   If objASPError.Source > "" Then 
   strServername = LCase(Request.ServerVariables("SERVER_NAME")) 
   strServerIP = Request.ServerVariables("LOCAL_ADDR") 
   strRemoteIP = Request.ServerVariables("REMOTE_ADDR") 
   If (strServername = "localhost" Or strServerIP = strRemoteIP) And objASPError.File <> "?" Then 
   Response.Write Server.HTMLEncode(objASPError.File) 
   If objASPError.Line > 0 Then Response.Write ", 第 " & objASPError.Line & " 行" 
   If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列" 
   Response.Write "<br>" 
   Response.Write "<font style=""COLOR:000000; FONT: 9pt 宋体""><b>" 
   Response.Write Server.HTMLEncode(objASPError.Source) & "<br>" 
   If objASPError.Column > 0 Then Response.Write String((objASPError.Column - 1), "-") & "^<br>" 
   Response.Write "</b></font>" 
   blnErrorWritten = True 
   End If 
   End If 
   
   If Not blnErrorWritten And objASPError.File <> "?" Then 
   Response.Write "<b>" 
   Response.Write Server.HTMLEncode(objASPError.File) 
   If objASPError.Line > 0 Then Response.Write Server.HTMLEncode(", 第 " & objASPError.Line & " 行") 
   If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列" 
   Response.Write "</b><br>" 
   End If 
  %> 
  </li> 
  <p> 
  <li>错误描述:<br> 
  <% 
  response.write Server.HTMLEncode(objASPError.description) 
  %> 
  </li> 
  <p> 
   
  </body> 
  </html> 


0
投稿

猜你喜欢

  • 原文:Creating a Star Rater using CSS链接:http://komodomedia.com/blog/index
  • IIf 函数   根据表达式的值,来返回两部分中的其中一个。语法IIf(expr, truepart, fal
  • 使用 NetBox 可以方便的将 asp 应用编译成为独立运行的执行程序,完全摆脱 iis 的束缚,在几乎所有的 Windows
  • 说完了理论,我们来做点实事。这篇文章将介绍使用 Javascript 实现的动画组件。下面记录下当时编写这个组件的考虑的些问题,对技术细节感
  • 使用方法和步骤如下:step1检测是否已经启用ServiceBroker,检测方法:SelectDATABASEpRoPERTYEX(
  • 浏览器对于CSS的支持问题落后于CSS的发展,以占有市场绝对份额的Internet Explorer来说,直到其前不久发布的第8个版本才刚刚
  • 首先说说什么是内存泄露,在一个进程中,如果某一块内存无法访问,且直到进程结束为止也无法释放,那么就发生了内存泄露。通常这种情况发生在C++之
  • 以下的文章主要是介绍SQL Server数据转换服务的4妙用之执行一些自动化的操作。在SQL Server数据库的实际操作管理中,数据库管理
  • 最近在做个大数据量的录入,为了方便客户输入,需要通过方向键来移动到输入框中,本代码仅供学习、研究,请勿用于其它用途:D下面贴的代码只是贴出来
  • 内码问题.用这段代码的吧,我已经改得很精简了.使用XMLHTTP抓取地址并进次内容处理Function GetBody(Url) Dim o
  • 1,WITH TEMPLET意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中介绍过,希望各位在看本教程之前对ASP采用模
  • 在ASP中Request对象是获取客户端提交数据的一个很重要的对象,大家对他也是非常熟悉了。 虽然如此,还是经常有人问我下面的几种写法有什么
  • 在跨业务、跨网站发送数据或者业务升级的时候,我们有的时候需要指定发送数据的编码方式,比如页面是utf-8编码的,而发送出去的数据却是GB23
  • 在mysql网站时拿到的rpm包只能用root安装,不支持relocate用源码安装后./configure --prefix=/home/
  • 描述的意思是HTML为中心的前端开发也差不多是web标准的意思。1.HTML是基础2.CSS依靠选择符提供视觉;3.Javascript 依
  • 本文讲解如何设置SQL Server数据库全文索引服务。在Microsoft SQL Server 7.0 中提供了全文索引服务(Full-
  • 据国外媒体报道,相较于IE8浏览器,微软最新一代浏览器IE9的最大改进就是硬件加速HTML5。微软承诺,通过利用IE9中的硬件加速功能,开发
  • 这段时间,关于asp的前途,关于asp的好坏的讨论贴,都有好些了。当然,大家的心都是好的,但是一些朋友说的话,真是让人郁闷。个人觉得,在现在
  • 网站可用性是任何网站的基本要素,而可用的导航更是网站所必需的要素之一。导航决定了用户如何与网站进行交互。如果没有了可用的导航,那么网站内容就
  • 4. 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中
手机版 网络编程 asp之家 www.aspxhome.com