程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> asp的err和error小結

asp的err和error小結

編輯:關於ASP編程
 

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對象做點事情.

 

 

方法一:
<%
Response.Buffer=True
Response.Flush()
On Error Resume Next
FileMapPath="../AccessDataBase/#AccessDataBase#asdf#as2342#3dfas#df343#24asdfat#hjbnbn23#sdfa#.mdb"
Set Conn=Server.CreateObject("Adodb.Connection")
DataBase="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath(FileMapPath)
Conn.Open DataBase

If Err.Number<>0 Then
Response.Write("<span style='font-size:14px;color:#ff0000;padding-left:15px;'>數據庫鏈接失敗!</a>")
Conn.close
Response.End()
Else
Response.Write("<span style='font-size:14px;color:#ff0000;padding-left:15px;'>數據庫鏈接成功!</a>")
End If
%>
方法二:
<%
Response.Buffer=True
Response.Flush()
On Error Resume Next
FileMapPath="../AccessDataBase/#AccessDataBase#asdf#as2342#3dfas#df343#24asdfat#hjbnbn23#sdfa#.mdb"
Set Conn=Server.CreateObject("Adodb.Connection")
DataBase="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(FileMapPath)
Conn.Open DataBase

if Conn.Errors.Count<>0 then
Response.Write("<span style='font-size:14px;color:#ff0000;padding-left:15px;'>數據庫鏈接失敗!</a>")
Conn.close
Response.End()
Else
Response.Write("<span style='font-size:14px;color:#ff0000;padding-left:15px;'>數據庫鏈接成功!</a>")
End If
%>

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