軟件測試工具VBscript的err對象
Err 對象是一個具有全局范圍 —的固有對象:不必在您的代碼中創建它的示例。Err的屬性被一個錯誤的生成器設置:Visual Basic自動對象,或 VBScript程序。err對象含有關于運行時錯誤的信息。接受用于生成和清除運行時錯誤的Raise 和Clear方法。當發生運行時錯誤時,Err的屬性由標識錯誤的唯一信息以及可用于處理它的信息填充。要在代碼中生成運行時錯誤,請用Raise方法。
Err 對象的屬性
Number 屬性 錯誤號。Number 是 Err 對象的默認屬性,可讀可寫。語法:
err.Number [= errornumber]
Description 屬性 返回或設置與錯誤相關聯的說明性字符串。語法:
err.Description [= stringexpression]
Source 屬性 返回或設置最初生成錯誤的對象或應用程序的名稱。語法:
err.Source [= stringexpression]
HelpFile 屬性 設置或返回幫助文件的完整有效路徑。 語法:
err.HelpFile [= contextID]
contextID是幫助文件的完整有效路徑。
HelpContext 屬性 設置或返回幫助文件主題的上下文 ID。語法:
err.HelpContext [= contextID]
contextID是在幫助文件中幫助主題的有效標識符。
Err 對象的方法
Raise方法 生成運行時錯誤。語法:
err.Raise(number, source, description, helpfile, helpcontext)
number是錯誤號,長整數子類型。VBScript 錯誤有VBScript
定義和用戶定義兩種錯誤,錯誤號的范圍在0-65535 之間。number參數是必須的,其它參數是可選的,用來設置err對象的某屬性。如果不指定某些參數且Err對象的屬性設置含有未清除的值,則這些值將成為錯誤的值。
Clear 方法 清除 Err 對象的所有屬性設置。語法:
err.Clear
在錯誤處理后,使用Clear 顯式地清除Err 對象,此操作是必須的,在任何時候執行下列語句,VBScript 將自動調用 Clear 方法:
On Error Resume Next
Exit Sub
Exit Function
例程1 生成并顯示第6號錯誤。
代碼
On Error Resume Next
Err.Raise 6 '發生溢出錯誤。
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear ' 清除錯誤。
例程2 建立用戶自己的錯誤號和錯誤信息。
代碼
On Error Resume Next
Err.Raise vbObjectError + 1, "SomeObject" ' 產生對象錯誤 #1.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description & " " & Err.source)
Err.Clear ' 清除錯誤。
運行:
代碼注釋
例程1演示的是VBScript定義的錯誤,而例程2演示的是用戶定義的錯誤。
目標任務 把VBScript定義的前100個錯誤信息顯示出來。
代碼
sub showErr(i)
On Error Resume Next
Err.Raise i
document.write ("Error # " & CStr(Err.Number)&" "& Err.Description & " ")
Err.Clear
End sub
for i =0 to 100
showErr i
next
對比 Javascript中做不到這一點。
參考 On Error語句
On Error啟動錯誤處理程序。語法:
On Error Resume Next
若不使用On Error語句,發生的任何運行時錯誤都將是致命的,即顯示錯誤信息并終止運行。On
Error 會使程序從緊隨產生錯誤的語句之后的語句繼續執行,或是從緊隨最近一次調用過程(該過程含有On Error 語句)的語句繼續運行。這個語句可以不顧運行時錯誤,繼續執行程序,之后您可以在過程內部建立錯誤處理例程。在調用另一個過程時,On Error語句變為非活動的。所以,如果希望在例程中進行內部錯誤處理,則應在每一個調用的例程中執行On Error語句
原文轉自:http://www.anti-gravitydesign.com