明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP 3.0 新特色先睹為快(二)

[摘要]本文中將介紹ASP 3.0中的一個(gè)全新的內(nèi)置對(duì)象ASPError對(duì)象. ASPError Object 這個(gè)新增的,內(nèi)置與ASP 3.0中的對(duì)象提供了一個(gè)以往版本中沒(méi)有的 專門用來(lái)處理錯(cuò)誤的對(duì)象,這樣,我們來(lái)操縱錯(cuò)誤就可以成為可能了。 以前你可以使用VBSc...
本文中將介紹ASP 3.0中的一個(gè)全新的內(nèi)置對(duì)象ASPError對(duì)象.
ASPError Object
這個(gè)新增的,內(nèi)置與ASP 3.0中的對(duì)象提供了一個(gè)以往版本中沒(méi)有的
專門用來(lái)處理錯(cuò)誤的對(duì)象,這樣,我們來(lái)操縱錯(cuò)誤就可以成為可能了。
以前你可以使用VBScript中的On Error Resume Next或則Jscript的try ... Catch來(lái)捕獲錯(cuò)誤,
但是你不能夠捕獲到COM對(duì)象、或則內(nèi)置的ASP對(duì)象中發(fā)生的錯(cuò)誤
但是如果你要是使用了ASPError對(duì)象的話,那么一切都將有可能改變。

要使用這個(gè)對(duì)象,首先我們需要做的是在IIS中自定義HTTP錯(cuò)誤信息(如何做我可是說(shuō)了不下
10次了,呵呵。)。這樣當(dāng)與ASP相關(guān)的錯(cuò)誤信息發(fā)生后,就會(huì)觸發(fā)HTTP error 500;100。

然后在ASP腳本中可以通過(guò)訪問(wèn)ASPError對(duì)象來(lái)判斷到底是發(fā)生了什么樣的錯(cuò)誤,
ASPError對(duì)象有一系列只讀的屬性獲取最后一個(gè)錯(cuò)誤的詳細(xì)信息。
這個(gè)服務(wù)端的對(duì)象包含有一個(gè)新的方法GetLastError,必須使用它來(lái)獲取發(fā)生的
錯(cuò)誤信息。

現(xiàn)在還是讓例子來(lái)說(shuō)明問(wèn)題把,假設(shè)用來(lái)處理錯(cuò)誤的腳本文件為 CatchError.asp.
首先應(yīng)該設(shè)置IIS的自定義錯(cuò)誤信息中的HTTP 500;100均重新定位與CatchError.asp.
然后就是按照自己的方式來(lái)顯示錯(cuò)誤信息了,代碼如下:following code:
<%
Dim objLastASPError
Set objLastASPError = Server.GetLastError
%>

捕獲到一個(gè)錯(cuò)誤:<BR>
錯(cuò)誤描述: <%=objLastASPError.Description%><BR>
錯(cuò)誤類別: <%=objLastASPError.Category%><BR>
錯(cuò)誤文件: <%=objLastASPError.File%><BR>
錯(cuò)誤編號(hào): <%=objLastASPError.Number%><BR>


ASPError對(duì)象、Server.Transfer、Server.Execute是ASP 3.0中新增的
內(nèi)容。當(dāng)然還有其他一些小的改動(dòng)。例如,在ASP 2.0中默認(rèn)的Response.Buffer被設(shè)置為False.
而在ASP 3.0中Response.Buffer默認(rèn)被設(shè)置為True.

當(dāng)然隨 ASP 3.0 而來(lái)的有最新版本的腳本引擎(既包括VBScript也有Jscript的)