当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP代码中的容错机制

ASP
asp使用activex组件实例一
ASP中检查没有数据提交的页面Ⅰ
ASP中检查没有数据提交的页面Ⅱ
为ASP开发者介绍ColdFusion
W3 Jmail 简要介绍
W3 Jmail 参考说明
W3 Jmail 使用范例
ASP教程:堵住ASP漏洞
利 用 ASP 开 发 网 络 聊 天 室
MySQL数据库基础教程
ASP和SQLServer时间处理方法Ⅰ
如何利用ASP实现邮箱访问
SQL语言快速入门之一
SQL语言快速入门之二
SQL语言快速入门之三(一)
用纯ASP代码实现图片上传并存入数据库中
ASP进阶教程Ⅹ:留言簿自动发E-Mail
单元测试和事先测试开发(2)
.NET的事务控制.
.NET 的数据访问应用程序块(Data Access Application Block)

ASP代码中的容错机制


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 142 ::
收藏到网摘: n/a

以国内最流行ASP为例,我不知道有多少人会在写代码时想到“容错”这个概念,实际上当我遇到这种事时,也是不了了之。为什么呢,想想最初的意思是认为写如下代码就能容错了,见示例1-1。



<%@ Language=VBScript %>

<%option explicit%>

<%

'出错过滤

on error resume next

……………(代码略)

%>




示例1-1 常见代码一瞥

以上代码就经常出现在各位同仁的手中,不用说出个中原因,我完成能理解各位现在的心情,我可以向大家坦白地说,我写了二年的ASP网页,大多数都是这种方式,不断的写,不断的改,心力交瘁,现在都不愿回头改写自已的代码了。实际上最基本的容错机制的想法,就是不要相信程序能为你节省多少事,要把控制权掌握在自已的手中,这是必要的。



<%@ Language=VBScript %>

<%Option Explicit%>

<%

'========================================

DIM NDEBUG_MSG

NDEBUG_MSG=TRUE



IF NDEBUG_MSG = TRUE THEN

'出错过滤

ON ERROR RESUME NEXT

END IF

'===============END =====================

……………(代码略)



'数据事务处理-start

If Err.number = 0 Then

'~~~~~ Open database and begin transaction ~~~~~~~~~~~~~~~~~~~~

'------------------------------

'-------------------------------------

objConn.BeginTrans

objConn.Execute (objSQL)

'~~~~~~ Commit the transaction and close the database connection

objConn.CommitTrans



Response.CacheControl ="Private"

Response.Expires = -1

……………(代码略)



Else

'~~~~~ Rollback transactions and close objects

objConn.RollbackTrans

'~~~~~ Raise errors for asp page

'Err.Raise Err.Number, Err.Source, Err.Description

'Err.Clear

Response.Write "Description= ("& err.number &"),("& err.Description &")"

End If

'===============END FILES=====================



%>




示例1-2 完整的容错机制代码范例

看了以上代码,你会发现也没有什么高超技艺在里面,高手可能更是不屑一顾。但大家未必能在写代码时这样作。