让你的错误提示更生动

导读:
  默认的IIS 500-100.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

%>  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

  %>
  
  
  
  
  
   本页无法显示
  
  
  
  
  
  







  
  

  

本页无法显示


  
     
  

  试图访问的网页出现问题,无法显示。
     
  

  
  

  

请尝试以下方法:


  

  •   
  • 单击
      
      刷新
    按钮或者梢候再试。

      

  •   
  • 打开
      
      主页,然后查找与所需信息相关的链接。

  •   

  

HTTP 500.100 - 内部服务器错误 - ASP 错误

  Internet 信息服务


  

  

技术信息(适用于支持人员)


  

  •   
  • 错误类型:

      <%
    Dim bakCodepage
    bakCodepage = Session.Codepage
    Session.Codepage = 936
    Response.Write Server.HTMLEncode(objASPError.Category)
    If objASPError.ASPCode >  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) &")" ) &"
    "
      If objASPError.ASPDescription >""Then Response.Write Server.HTMLEncode(objASPError.ASPDescription) &"
    "
      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 "
    "
      Response.Write ""
      Response.Write Server.HTMLEncode(objASPError.Source) &"
    "
      If objASPError.Column >0 Then Response.Write String((objASPError.Column - 1), "-") &"^
    "
      Response.Write "
    "
      blnErrorWritten = True
      End If
      End If
      If Not blnErrorWritten And objASPError.File <>"?" Then
      Response.Write ""
      Response.Write Server.HTMLEncode(objASPError.File)
      If objASPError.Line >0 Then
      Response.Write Server.HTMLEncode(", 第 "&objASPError.Line &"行") &"
    "
      '读去错误行文本
      Dim AppPath,FileName,ErrLine,ErrCode,fs,f,i
      AppPath=Request.ServerVariables("APPL_PHYSICAL_PATH")
      FileName=Request.ServerVariables("SCRIPT_NAME")
      FileName=Replace(FileName,"/","/")
      FileName=Mid(FileName,2,Len(FileName)-1)
      'Response.Write AppPath &FileName &"
    "
      '常量定义
      Const ForReading = 1,TristateFalse = 0
      Set fs=Server.CreateObject("Scripting.FileSystemObject")
      Set f = fs.OpenTextFile(AppPath &FileName,ForReading,TristateFalse)
      ErrLine=objASPError.Line
      For i = 1 to ErrLine-1
      f.SkipLine
      Next
      ErrCode=f.ReadLine
      f.close
      Response.Write "该代码出现错误,请检查→

    本文转自
    http://study.qqcf.com/web/243/29368.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值