热门文章 | 热门软件| 热门源码 | 热门电影 | 知识库 | 联系我们
软件 源码 教程 影视 健康 招聘
  HTML | JavaScript | ASP | PHP | JSP | NET | VB | VC | VF | Windows | Linux | Mysql | Mssql | Oracle | Struts 
当前位置: 创世纪计算机资源网 -> 文章频道 ->asp 
站内搜索:
关于ASP Error对象的相关知识(2)
作者:佚名 来源:不详 整理日期:2007-11-6

//-->
</script>

<body bgcolor="FFFFFF">

<table width="410" cellpadding="3" cellspacing="5">

  <tr>
    <td align="left" valign="middle" width="360">
    <h1 style="COLOR:000000; FONT: 12pt/15pt 宋体"><!--Problem-->无法找到网页</h1>
    </td>
  </tr>

  <tr>
<td width="400" colspan="2"> <font style="COLOR:000000; FONT: 9pt/11pt 宋体">您正在搜索的网页可能已经删除、更名或暂时不可用。</font></td>
  </tr>

  <tr>
    <td width="400" colspan="2"> <font style="COLOR:000000; FONT: 9pt/11pt 宋体">

    <hr color="#C0C0C0" noshade>

<p>请尝试下列操作:</p>

    <ul>
<li>如果您在“地址”栏中键入了网页地址,请检查其拼写是否正确。<br>
      </li>

<li>打开 <script>
      <!--
      if (!((window.navigator.userAgent.indexOf("MSIE") > 0) && (window.navigator.appVersion.charAt(0) == "2")))
      {
          Homepage();
      }
      //-->
       </script> 主页,寻找指向所需信息的链接。</li>

<li>单击<a href="javascript:history.back(1)">后退</a>按钮尝试其他链接。</li>
    </ul>

<h2 style="font:9pt/11pt 宋体; color:000000">HTTP 404 - 无法找到文件<br> Internet 信息服务<BR></h2>

    <hr color="#C0C0C0" noshade>

    <p>技术信息(支持个人)</p>

<ul>
<li>详细信息:<br><a href="http://www.microsoft.com/ContentRedirect.asp?prd=iis&sbp=&pver=5.0&pid=&ID=404&cat=web&os=&over=&hrd=&Opt1=&Opt2
=&Opt3=" target="_blank">Microsoft 支持</a>
</li>
</ul>

    </font></td>
  </tr>

</table>
</body>
</html>
[/html]

当出现错误时,错误和错误网页文件之间的映射关系是在每个目录的properties对话框的Custom Errors选项卡中决定的,这在Internet Services Manager里面的属性设置,谁有兴趣的话就去看看.
定制错误网页显示ASPError对象属性的所有值,并通过使用Response.Status方法,把一个HTTP报头状态消息返回给客户端,指明出现了一个错误。接着使用GetLastError方法获取对ASPError对象的一个引用,因此可以访问错误的详细数据:

 <%
Response.Status = "500 Internal Server Error"
Set objASPError = Server.GetLastError()
%>
Currently executing the page: <B>show_error.asp</B><P>
<B>Error Details:</B><BR>

ASPError.ASPCode = <% = objASPError.ASPCode %><BR>
ASPError.Number = <% = objASPError.Number %> (0x<% = Hex(objASPError.Number) %>)<BR>
ASPError.Source = <% = Server.HTMLEncode(objASPError.Source) %><BR>
ASPError.Category = <% = objASPError.Category %><BR>
ASPError.File = <% = objASPError.File %><BR>
ASPError.Line = <% = objASPError.Line %><BR>
ASPError.Column = <% = objASPError.Column %><BR>
ASPError.Description = <% = objASPError.Description %><BR>
ASPError.ASPDescription = <% = objASPError.ASPDescription %>

<FORM ACTION="<% = Request.ServerVariables("HTTP_REFERER") %>" METHOD="POST">
<INPUT TYPE="SUBMIT" NAME="cmdOK" VALUE=" Return to the previous page  ">
  <P>
</FORM>
如果一个脚本或ASP错误出现在定制错误网页中,IIS将仅仅返回一个与错误代码500:100对应的一般性消息。这可能是脚本引擎自己的错误消息,或者只是相当简单的消息:“Internal Server Error”。不会再次重新载入定制的错误网页。
包含错误的网页的全部环境将传送给定制错误网页。也就是说,可以使用存储在任何ASP内部对象集合或属性中的值。例如,如果检索来自Request.ServerVariables集合的HTTP_REFERER值,它将反映调用原网页的网页(即在错误出现之前的网页)的URL。在服务器把执行转到错误网页时,这个值不会发生变化,并且它将不包含当错误发生时正在执行的网页的URL。
同样,SCRIPT_NAME值将是包含该错误的网页的名字,而不是错误网页的URL。在一个错误网页已经装入时,通过检查浏览器地址栏中的URL,可以对此进行确认。但是在原网页的脚本变量中存储的值,在定制的错误网页中都是不可用的。
如果原ASP网页正在一个事务内运行,即在网页的最前面包含有一个<% @TRANSACTION=”…” %>指令,也应该确定是否需要在网页中采取一些方法,以退出该事务。例如可以调用内置ObjectContext对象的SetAbort方法:
objectContext.SetAbort    
 
嗯,前端时间发过几千垃圾邮件,全是错误处理的
Option Explicit
Response.AddHeader "Status Code", "200"
Response.AddHeader "Reason", "OK"
On Error Resume Next
Response.Clear
Dim objError
Set objError = Server.GetLastError()
 
dim objErr, objMail, html
set objErr=Server.GetLastError()
Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = "s1z2d3s1@163.com"
objMail.to= "5do8@5do8.com"
objMail.BodyFormat = 0
objMail.MailFormat = 0
objMail.Subject = "QOP Error 500"
html = "<font face=Verdana, Arial, Helvetica, sans-serif><br>"
html = html & "<p>Error occured at: " & now
html = html & "<p>Referred from: " & 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>ASP Code: </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>ASP Description: </b></p>" & objErr.ASPDescription
html = html & "<blockquote>"
html = html & "All HTTP: " & Request.ServerVariables("ALL_HTTP")
html = html & "</blockquote></font>"
objMail.Body = html
objMail.Send
objErr.clear
Set objMail = Nothing
Set objErr = Nothing
response.write(html)

这个操作起来确实很烦,看看老盖先生的在500-100.asp里面写了写什么东西:

[1]  [2]  [3]  
相关文章
暂无