网络编程
位置:首页>> 网络编程>> Asp编程>> ASPError(err)对象的相关基础知识(2)

ASPError(err)对象的相关基础知识(2)

作者:5do8  发布时间:2008-03-24 20:23:00 

标签:Error,Err.Number,错误,asp

当出现错误时,错误和错误网页文件之间的映射关系是在每个目录的properties对话框的CustomErrors选项卡中决定的,这在InternetServicesManager里面的属性设置,谁有兴趣的话就去看看.

定制错误网页显示ASPError对象属性的所有值,并通过使用Response.Status方法,把一个HTTP报头状态消息返回给客户端,指明出现了一个错误。接着使用GetLastError方法获取对ASPError对象的一个引用,因此可以访问错误的详细数据:




<%
Response.Status="500InternalServerError"
SetobjASPError=Server.GetLastError()
%>
Currentlyexecutingthepage:<B>show_error.asp</B><P>
<B>ErrorDetails:</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%>
<FORMACTION="<%=Request.ServerVariables("HTTP_REFERER")%>"METHOD="POST">
<INPUTTYPE="SUBMIT"NAME="cmdOK"VALUE="Returntothepreviouspage ">
 <P>
</FORM>

如果一个脚本或ASP错误出现在定制错误网页中,IIS将仅仅返回一个与错误代码500:100对应的一般性消息。这可能是脚本引擎自己的错误消息,或者只是相当简单的消息:“InternalServerError”。不会再次重新载入定制的错误网页。

包含错误的网页的全部环境将传送给定制错误网页。也就是说,可以使用存储在任何ASP内部对象集合或属性中的值。例如,如果检索来自Request.ServerVariables集合的HTTP_REFERER值,它将反映调用原网页的网页(即在错误出现之前的网页)的URL。在服务器把执行转到错误网页时,这个值不会发生变化,并且它将不包含当错误发生时正在执行的网页的URL。

同样,SCRIPT_NAME值将是包含该错误的网页的名字,而不是错误网页的URL。在一个错误网页已经装入时,通过检查浏览器地址栏中的URL,可以对此进行确认。但是在原网页的脚本变量中存储的值,在定制的错误网页中都是不可用的。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com