帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
Web网站的错误控制
作者:佚名 发布时间:2005-04-02 来源:不详
 

编译如下:

   “脚本错误……是否调试脚本……?”或“类型错误……”这类提示是Web开发者每日生活的一部分。要预先考虑到所有可能遇到的错误并加以处理以免用户看到这些对他们来说完全没有意义的提示信息,作为一个Web开发者,我知道这几乎是不可能的。

   相反,我们只能接受错误总是可能随时出现这个事实,然后拿出某种办法巧妙地控制它们,这正是本文要介绍的内容。

   在这篇文章中,我们将介绍如何才能响应由于脚本、网络、硬件或其他意外缺陷导致的运行时错误,以及如何控制这些错误、可以采取哪些处理步骤来修正这些错误。

   健壮的错误控制机制涉及到两个方面,第一是服务器端的错误控制,第二是浏览器内客户端脚本的错误控制。

   服务器端错误控制

   IIS 5.0 使用ASP 3.0脚本引擎,它提供了许多新的功能来处理Web服务器上可能遇到的错误。其中ASPError内建对象是ASP 3.0引入的一个最值得注意的错误处理对象。对于那些熟悉VB/VBScript的开发者来说,ASPError对象和Err对象非常相似,不过前者包含更多有关错误的信息。

   IIS在脚本执行遇到错误时会创建ASPError对象,并在这个对象中填充以下信息以及其他一些细节:   
ASPCode:由IIS返回的ASP错误代码。
Number:包含标准的COM错误代码。
Source:包含产生错误的实际源代码。
File:产生错误的ASP文件的名字。
Line:ASP脚本中的行号。
Description:有关错误的简短说明。

   另外还有一个在IIS 4.0中已经存在,但在IIS 5.0中有所增强的功能,这就是将所有未被控制的错误重定向到指定ASP页面的功能。如果再用VB来作比较的话,我们可以把这个功能看作VB中的“On Error Gogo 错误处理过程”语句,但VB中错误控制只适用于特定函数,IIS中的错误定向对所有的ASP页面都有效。

   Visual Basic函数中的错误控制举例如下:   
Sub DoSomething
On error goto ErrHandler < -- (VB错误控制语句)
code.....code .... code ....
If an error occurs in this section the control is automatically
transferred to the ErrHandler section below.
code.....code .... code ....
ErrHandler:
All errors come here and hence this section can be used to
handle errors preventing the user from seeing them.
End Sub

   假设网站有50个Web页面,如果其中任意一个页面产生了运行时错误,则控制自动转到指定的ASP页面。下面是设置错误处理页面的具体步骤:

在MMC控制台(Windows NT)或者IIS服务(Windows 2000)中,扩展树找到待设置的Web网站。
右击Web网站名字显示菜单。
单击“属性”。
在属性对话框中,选择“自定义错误信息”页面。
滚动列表框,找到“HTTP错误”显示为“500;100”的那一行。
双击该行,从“消息类型”列表框选择“URL”。
在URL输入框输入当Web网站遇到运行时错误时所执行页面的URL。
   注意:输入虚拟路径,不要输入完整的URL。例如:   
可以输入:
/myWebSite/Tools/MyErrorHandlingPage.asp
但不要输入:
http://myServer/myWebSite/Tools/MyErrorHandlingPage.asp

单击“确定”接受设置并关闭对话框。
   这样就启用了网站的错误控制功能。接下来在控制转到MyErrorHandlingPage.asp之后如何处理就要根据实际情况而定。根据不同的错误类型,每一个网站都可能用不同的方式处理它们。

 
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Web网站的错误控制(转)  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统