程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 正確處理ASP動態網頁中的容錯機制

正確處理ASP動態網頁中的容錯機制

編輯:ASP技巧

      以國內最流行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 完整的容錯機制代碼范例

看了以上代碼,你會發現也沒有什麼高超技藝在裡面,高手可能更是不屑一顧。但大家未必能在寫代碼時這樣作。

【1-1】編寫動態網頁時,一定要考慮容錯機制,如在ASP中,就應該參考示例1-2,寫出健壯的代碼。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved