一、ERR對象
err對象使用的時候不需要建立執行個體,就是說你要用的時候隨便拿來使用,就像session一樣。
不需要像ADODB對象使用的時候Set conn=Server.CreateObject(“ADODB.Connection”)來建立執行個體,它返回一個錯誤碼。
但是Err!=Err.Number,可以用Clear方法清除,以利於下次使用.它主要的是個Description方法,返回的是簡要錯誤說明,這裡一個很經典的例子:
程式碼:
複製代碼 代碼如下:
< %@ LANGUAGE="VBscript" %>
< %Response.Buffer = True
On Error Resume Next
%>
< %
s="sa"
response.write(Int(s))
If Err.Number <> 0 Then
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>
< %End If%>
運行一看,Err.Line 為空白,為啥?因為asp的vb編寫的裡面line方法不被支援。
值得注意的是要使用err對象的時候,必須加上On Error Resume Next,原來越過asperror對象的異常拋出。
二、ERROR對象
在連結資料庫的時候可以使用error對象:
Count屬性:用來統計Errors集合的數目。
Item方法:用來指定特定的一個錯誤,文法為Error.Item(number),其中number為一數字。
由於Item為預設的方法,所以Error(number)的寫法與前面的寫法是等價的。
下面是一段程式。用來列舉Error對象:
程式碼:
複製代碼 代碼如下:
< %
On Error Resume next
Set conn=Server.CreateObject("ADODB.Connection")
Dim i,your_databasepath:your_databasepath="no.mdb"
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(your_databasepath)&""
conn.open connstr
if conn.errors.count<>0 then
response.write "連結資料庫失敗<hr />"
for i =0 to conn.errors.count-1
response.write conn.errors.item(i)&"<hr />"
response.write Err.Description
next
else
response.write "連結資料庫成功"
end if
conn.close
%>
沒啥差別和err對象,看到比較結果了麼?直接用err對象簡單。
一般建議在調試的時候用asperror對象(就相當於不處理,出錯是網頁上顯示的預設資訊就是),
就是把On Error Resume next 這行rem了,就預設用asperror拋出了。
在正式啟動並執行時候,除非特殊要求,可以使用err對象做點事情。