网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.一个不太让人讨厌的自动弹出窗口.
.ASP动态生成的javascript表单验证.
.Adodb.Command 平时很少注意到的.
.如何用ASP生成XML数据文档(RSS订.
.如何把ASP编写成DLL .
.WebClasses使注册变得容易.
.不用Global.asa实现在线人数统计.
.ASP.Net中程序构架与程序代码的分.
.ServerVariables 对路径的操作.
.如何设置二级域名?.
.实现聊天室在线人员无刷新所需要.
.用存储过程实现ASP对数据库访问.
.ASP文件中的安全问题.
.SQL Server 存储过程的分页.
.如何用JavaScript识别Netscape 6.
.用ASP进行网络打印功能.
.运用asp结合vbscript模拟股票滚屏.
.用正则解析图片地址,并利用XMLHT.
.ASP乱码的解决方法 .
.在ASP中通过oo4o连接Oracle数据库.

ASP 中健壮的页结构的异常处理

发表日期:2003-12-12


错误处理是让程序员牢骚满腹的东西之一。让我们来面对它,我们不写错误的代码就是了。。。或者类似的想法。不幸的是,代码中的运行时错误可能有许多的原因,从硬件、软件的改变到使用了别的开发团队的代码等等。有效的处理这些错误并使得它对于网站正常操作过程的中断最小化是每个有良知的程序员的责任。

 
在本文讨论的范围内,有三个不同的地方可以发生错误:脚本,中间件,以及IT内部架构。IT内部架构的错误,比方周期性的性能降低并导致IIS进行(Inetinfo.exe)崩溃几乎是无法避免的。这种类型的错误通常只能打电话要求技术支持并且会让系统管理员忙上很久。开发者不能为阻止这类错误做些什么,但是我们通常能够应付和改正脚本和中间件中的错误。在安装了IIS以后,缺省的服务器端脚本语言被设置成VBScript。许多Web 开发团队在他们的开发环境中保持了这些缺省设置,这是不幸的,因为VBScript对于处理运行时错误的支持非常的差。在VBScript中,开发者可以使用的唯一一个错误处理结构是

On Error Resume Next (打开错误处理功能)和On Error GoTo 0 (关闭错误处理功能).

为了在你的ASP 页面里有效的使用这个错误处理结构,你可能需要用这些结构包括可能抛出异常的代码,就象下面这样:

 

  <%

  Dim myVar

  On Error Resume Next

 '下面一行代码会在MSXML 4.0没有被安装或者已经损坏的情况下产生错误

  Set myVar = Server.CreateObject("MSXML2.DOMDocument.4.0")

  If Err.Number <> 0 Then

  ' 在这里处理错误

 ' 结束错误处理,避免以后发生的错误无法被发现

 
  On Error GoTo 0

  Else

  ' myVar现在指向 MSXML 4.0 DOMDocument的一个实例

  ' 结束错误处理,避免以后发生的错误无法被发现

  On Error GoTo 0

   End If

 

就象你看到的一样,如果你要在每一行现有的可能发生错误的代码上使用上面的规则,你的程序马上就会充满 "On Error" 和 "If Err.Number <> 0 Then . . ." 这样的结构。

而另一方面JScript对于健壮的错误处理机制“结构化异常处理(SEH)”有内建的支持。使用SEH能够让你的软件开发团队顺利的转移到.NET 环境上来,因为SEH是JScript.NET, VB.NET, 和 C#缺省的错误处理机制。(注意:.NET不支持VBScript。)下面的例子代码执行与VBScript代码相同的操作,但是使用JScript语言并用SEH来处理异常

 <%@ LANGUAGE="JScript" %>

 <%

  varmyVar;

try {

 myVar = Server.CreateObject("MSXML2.DOMDocument.4.0");

  // 如果上面发生了错误,那么catch

// 代码块就会立刻被执行

 // 并在myVar上进行必要的操作。

 }

 catch (e) {

  // 在这里处理异常,异常本身可以用

  // 'e' 变量进行引用。

  }

 finally {

 // 在这里进行所有收尾工作

 // 这段代码不管错误有没有发生

  // (也就是“catch”块有没有运行)

  // 都会执行。

  }

 %>

通过在服务器端使用JScript,你就得到了SEH带来的好处,以及对复杂ASP对象,比方Server,Request和Response对象的完全使用。要把这种脚本语言设置成你的ASP页面的缺省语言,你只需要简单的在你的ASP页面上添加@LANGUAGE指令,就象上面的例子那样。

 

上一篇:在ASP中使用均速分页法提高分页速度 人气:16590
下一篇:利用J2ME与ASP建立数据库连接 人气:14238
浏览全部ASP的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐