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

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

ASP代码中的容错机制


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 156 ::
收藏到网摘: 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 完整的容错机制代码范例

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