快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

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


在本文讨论的范围内,有三个不同的地方可以发生错误:脚本,中间件,以及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指令,就象上面的例子那样。
返回类别: 教程
上一教程: 关于ADODB.STREAM的写数据库数据到客户端
下一教程: 用XMLHTTP生成HTML页面

您可以阅读与"ASP 中健壮的页结构的非常处理"相关的教程:
· ASP 中健壮的页结构的非常处理
· ASP编程中树型结构的提交
· 建立三层结构的ASP应用程序
· ASP错误的几种常规处理方法
· ASP中一个字符串处理类加强版
    微笑服务 优质保证 索取样品