ASP應用進階 ASP Error對象的相關知識(7)_ASP教程
推薦:實例詳解ASP中斷開記錄集的使用方法我們在使用ASP 內置的ADO組件進行數據庫編程時,通常是在腳本的開頭打開一個連接,并在腳本的最后關閉它,但是就較大腳本而言,在多數情況下連接打開的時間要比它需要打開的時間長得多。因此為
err對象使用的時候不需要創建實例,就是說你要用的時候隨便拿來使用,就像session一樣,不需要像ADODB對象使用的時候Setconn=Server.CreateObject("ADODB.Connection")來創建實例,它返回一個錯誤代碼,但是Err!=Err.Number,可以用Clear方法清除,以利于下次使用.它主要的是個Description方法,返回的是簡要錯誤說明,這里一個很經典的例子:
<%@LANGUAGE="VBscript"%> <%Response.Buffer=True OnErrorResumeNext %> <% s="sa" response.write(Int(s)) IfErr.Number<>0Then Response.Clear response.write"發生錯誤:"%> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> 錯誤Number:<%=Err.Number%><br/> 錯誤信息:<%=Err.Description%><br/> 出錯文件:<%=Err.Source%><br/> 出錯行:<%=Err.Line%><br/> <%=Err%> </BODY> </HTML> <%EndIf%> |
運行一看,囈,Err.Line為空,為啥?因為asp的vb編寫的里面line方法不被支持,這是一個廢的屬性在vb里面.jscript的支持,要研究的去catch.
值得注意的是要使用err對象的時候,必須加上OnErrorResumeNext,原來越過asperror對象的異常拋出.
在鏈接數據庫的時候可以使用error對象:Count屬性:用來統計Errors集合的數目,Item方法:用來指定特定的一個錯誤,語法為Error.Item(number),其中number為一數字。由于Item為默認的方法,所以Error(number)的寫法與前面的寫法是等價的。下面是一段程序。用來列舉Error對象:
<% OnErrorResumenext Setconn=Server.CreateObject("ADODB.Connection") Dimi,your_databasepath:your_databasepath="no.mdb" connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&server.mappath(your_databasepath)&"" conn.openconnstr ifconn.errors.count<>0then response.write"鏈接數據庫失敗<hr/>" fori=0toconn.errors.count-1 response.writeconn.errors.item(i)&"<hr>" response.writeErr.Description next else response.write"鏈接數據庫成功" endif conn.close %> |
沒啥差別和err對象,看到比較結果了么?寒死了,直接用err對象簡單.
一般建議在調試的時候用asperror對象,就是把OnErrorResumenext這行rem了,就默認用asperror拋出了.在正式運行的時候,除非特殊要求,可以使用err對象做點事情.
分享:請注意!常見的ASP腳本攻擊及防范技巧由于ASP的方便易用,越來越多的網站后臺程序都使用ASP腳本語言。但是, 由于ASP本身存在一些安全漏洞,稍不小心就會給黑客提供可乘之機。事實上,安全不僅是網管的事,編程人員也必須在某些安全
- 相關鏈接:
- 教程說明:
ASP教程-ASP應用進階 ASP Error對象的相關知識(7)。