-
您的位置:首页 → 技术开发 → ASP教程 → ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十四)
时间:2004/11/7 4:14:00来源:本站整理作者:蓝点我要评论(0)
-
7.4.4 使用IIS错误页面
与ASP错误处理过程相关的内容是为IIS提供可定制的错误页面。事实上,在IIS 4.0中也有这个特点。但新的ASP内置对象ASPError,更易于使用且提供更加强大的功能。
在第4章,当我们研究Server.Execute和Server.Transfer方法时,已经讲述了如何建立定制的错误页面。我们也讨论和使用了ASPError对象,但这种方式受到了一定的限制。在这一部分,将介绍如何将定制的错误网页和ASPError对象结合起来建立一个更好的处理ASP错误的方法。
我们可以使用VBScript检查ASPError对象的内容,从而创建一个定制的错误页面。构建一个包含错误内容全面信息的字符串,且写入到服务器磁盘上的日志文件中。然而网页的设计仅使访问者看到网页不可用这样一条信息是不行的,应该使访问者能够选择是重新载入上一个网页还是回到主页,使他们没意识已经发生了错误。
尽管我们采用VBScript创建这个网页,但其使用的一些特性对JScript来说也是适用的,这两种脚本语言的相互转换也是比较容易的。
可以从http://www.wrox.com站点下载本章及本书其他章节的示例文件。
1. 设置定制的错误页面
在能使用定制的错误页面之前,必须在Internet Services Manager进行相应的设置(设置方式见第4章)。把示例文件装入计算机的wwwroot目录中,打开Chapter07子目录的Properties对话框,在Custom Errors选项卡中,滚动列表并选中HTTP错误“500:100”条目,点击Edit Properties按钮,并键入定制的错误页面Custom_error.asp的URL,如图7-17所示:
图7-17 Custom Errors选项卡
现在Chapter07子目录中的页面出现一个ASP错误时,就会打开定制的错误页面。
2. 使用定制的错误页面
在浏览器中打开Chapter07目录并选择到“Using a Custom Error Page”的链接,这个页面显示了一系列用于产生各种类型的错误的按钮,点击标有“Load a Page with a Syntax error”的按钮,如图7-18所示:
图7-18 演示定制错误页面的屏幕1
这将载入一个名为syntax_error.asp的简单页面。然而看不到这个页面,因为这个页面包含了一个语法错误。ASP终止这个页面的编译/执行,并把执行转到定制错误页面,这个页面展示了错误的细节和两个按钮,这两个按钮用以返回上个页面(主菜单)或返回Web站点的缺省主页,如图7-19所示:
图7-19 演示定制错误页面的屏幕2
这个页面也把错误报告追加到服务器磁盘C:\temp文件夹中名为custom_error.log的日志文件中,可以在文件编辑器中打开并查看它,图7-20所示的日志文件已经记录了几个错误。
图7-20 日志文件
如果在页面中得到了一个信息,指明日志文件不能写入信息,可能是因为IUSR_machinename(IUSR_计算机名)帐号没有访问C:\temp目录的权限。当测试这个页面时,应该给予IUSR_machinename帐号对这个目录的全部控制权,或者改变custom_error.asp页面的程序代码以指向一个IUSR有全部控制权的文件夹
错误消息出现在页面中的唯一原因,是因为在cause_error.asp页面中我们选择了相应的复选框。如果关闭该选项并再次点击按钮,便看不到错误的详细情况,然而错误信息仍然记录在服务器磁盘上的custom_error.log错误日志文件中。
“Display debugging information”复选框给定制错误页面(而不是日志文件)提供了更多的信息,有助于调试那些使用ASP内置对象集合值的页面,如图7-21所示:
图7-21 cause_error.asp页面的选择框
在本章下面部分,将再讨论这一问题,同时也可以了解“Cause An Error”页面上的其他按钮所提供的其他种类的错误信息。注意有一些按钮能够比其他的按钮能够提供更多信息。特别是只有最后一个按钮给出ASP错误代码的值(这里是ASP 0177)。
(1) “Cause An Error”页面的功能
与先前讨论的示例页面一样,引起错误的页面使用同样的技术,用
<%
End If
%>
对上面这段程序需要注意的是:在定制错误页面里,不能使用Server.Execute方法。如果我们这样做的话,至少程序不能正常工作。当程序把执行转到特定的网页时,程序不会再返回到当前网页,这就是我们使用Server.Transfer方法载入显示调试信息的网页的原因。这是下一部分要讨论的问题。
7.5 程序调试——发现及处理错误
读完上面内容,读者一定很想创建一个没有错误的ASP网页。但你可能会发现网页并不能工作。怎么办,只有进行测试。
在这一部分,首先简要看一下能使调试更容易的一些工具。Microsoft Script Debugger试图把调试支持工具提高到像Visual Basic、Delphi和Visual C++等大多数传统编程环境的水平。然而,下面将首先讨论一些更传统的有助于跟踪出现在网页中的错误的技术。
相关阅读
Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
-
热门文章
没有查询到任何记录。
最新文章
《龙珠:超宇宙》 战斗E3 2014:瘆人僵尸《消
asp代码实现access数据导出到excel文件如何使用FSO读取Js文件内容并可以编辑修改对初学者有用的一些asp函数集学习ASP编程必会的代码
人气排行
asp代码实现access数据导出到excel文件asp不需要任何配置的伪静态实现如何使用FSO读取Js文件内容并可以编辑修改asp去除html标记和空格的代码Asp全选删除代码教大家网页伪静态知识及其2种实现方法Microsoft SQL Server 7.0安装问题(一)ASP.NET中的Code Behind技术4
查看所有0条评论>>