ASP 3.0 新特色先睹為快(二)
發(fā)表時間:2024-06-09 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]本文中將介紹ASP 3.0中的一個全新的內(nèi)置對象ASPError對象. ASPError Object 這個新增的,內(nèi)置與ASP 3.0中的對象提供了一個以往版本中沒有的 專門用來處理錯誤的對象,這樣,我們來操縱錯誤就可以成為可能了。 以前你可以使用VBSc...
本文中將介紹ASP 3.0中的一個全新的內(nèi)置對象ASPError對象.
ASPError Object
這個新增的,內(nèi)置與ASP 3.0中的對象提供了一個以往版本中沒有的
專門用來處理錯誤的對象,這樣,我們來操縱錯誤就可以成為可能了。
以前你可以使用VBScript中的On Error Resume Next或則Jscript的try ... Catch來捕獲錯誤,
但是你不能夠捕獲到COM對象、或則內(nèi)置的ASP對象中發(fā)生的錯誤
但是如果你要是使用了ASPError對象的話,那么一切都將有可能改變。
要使用這個對象,首先我們需要做的是在IIS中自定義HTTP錯誤信息(如何做我可是說了不下
10次了,呵呵。)。這樣當與ASP相關(guān)的錯誤信息發(fā)生后,就會觸發(fā)HTTP error 500;100。
然后在ASP腳本中可以通過訪問ASPError對象來判斷到底是發(fā)生了什么樣的錯誤,
ASPError對象有一系列只讀的屬性獲取最后一個錯誤的詳細信息。
這個服務(wù)端的對象包含有一個新的方法GetLastError,必須使用它來獲取發(fā)生的
錯誤信息。
現(xiàn)在還是讓例子來說明問題把,假設(shè)用來處理錯誤的腳本文件為 CatchError.asp.
首先應(yīng)該設(shè)置IIS的自定義錯誤信息中的HTTP 500;100均重新定位與CatchError.asp.
然后就是按照自己的方式來顯示錯誤信息了,代碼如下:following code:
<%
Dim objLastASPError
Set objLastASPError = Server.GetLastError
%>
捕獲到一個錯誤:<BR>
錯誤描述: <%=objLastASPError.Description%><BR>
錯誤類別: <%=objLastASPError.Category%><BR>
錯誤文件: <%=objLastASPError.File%><BR>
錯誤編號: <%=objLastASPError.Number%><BR>
ASPError對象、Server.Transfer、Server.Execute是ASP 3.0中新增的
內(nèi)容。當然還有其他一些小的改動。例如,在ASP 2.0中默認的Response.Buffer被設(shè)置為False.
而在ASP 3.0中Response.Buffer默認被設(shè)置為True.
當然隨 ASP 3.0 而來的有最新版本的腳本引擎(既包括VBScript也有Jscript的)