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

來源:互聯網
上載者:User

以國內最流行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,寫出健壯的代碼。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.