ASP代碼中的容錯機制_ASP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:ASP初學者常犯的幾個錯誤ASP初學者常犯的幾個錯誤 1.記錄集關閉之前再次打開: ------------------------------------ sql="select * from test" rs.open sql,conn,1,1 if not rs.eof then dim myName
以國內(nèi)最流行ASP為例,我不知道有多少人會在寫代碼時想到“容錯”這個概念,實際上當我遇到這種事時,也是不了了之。為什么呢,想想最初的意思是認為寫如下代碼就能容錯了,見示例1-1。<%@ Language=VBScript %>
<%option explicit%>
<%
'出錯過濾
on error resume next
……………(代碼略)
%>
示例1-1 常見代碼一瞥
以上代碼就經(jīng)常出現(xiàn)在各位同仁的手中,不用說出個中原因,我完成能理解各位現(xiàn)在的心情,我可以向大家坦白地說,我寫了二年的ASP網(wǎng)頁,大多數(shù)都是這種方式,不斷的寫,不斷的改,心力交瘁,現(xiàn)在都不愿回頭改寫自已的代碼了。實際上最基本的容錯機制的想法,就是不要相信程序能為你節(jié)省多少事,要把控制權掌握在自已的手中,這是必要的。
<%@ Language=VBScript %>
<%Option Explicit%>
<%
'========================================
DIM NDEBUG_MSG
NDEBUG_MSG=TRUE
IF NDEBUG_MSG = TRUE THEN
'出錯過濾
ON ERROR RESUME NEXT
END IF
'===============END =====================
……………(代碼略)
'數(shù)據(jù)事務處理-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 完整的容錯機制代碼范例
看了以上代碼,你會發(fā)現(xiàn)也沒有什么高超技藝在里面,高手可能更是不屑一顧。但大家未必能在寫代碼時這樣作。
分享:asp實例:測試WEB服務器以下為引用的內(nèi)容: <HTML> <HEAD> <TITLE>測試WEB服務器</TITLE> </HEAD> <BODY> <Script l
相關ASP教程:
- 相關鏈接:
- 教程說明:
ASP教程-ASP代碼中的容錯機制
。