![]() |
ScriptError 用于传递 Script 对象的错误信息
Set ScriptError = Script.GetLastError
Category | 返回错误产生的种类,通常是产生错误的模块 |
Column | 返回错误产生的具体行内的列数 |
Description | 返回错误信息的详细描述 |
File | 返回错误产生所在的文件名 |
Line | 返回错误信息在文件中的行号 |
Number | 返回错误信息的代码 |
Source | 返回错误所在行的代码 |
下面的代码执行 err.box,如果执行过程中出现错误,则输出错误结果:
Set Script = CreateObject("NetBox.Script") e = Script.Load("Err.box") If e = 0 Then Script.SetGlobalObjects e = Script.Run End If If e = 404 Then Shell.Console.WriteLine "Bad Command" ElseIf e <> 0 Then Set error = Script.GetLastError Shell.Console.WriteLine error.Category Shell.Console.WriteLine "Error Number: " & Hex(error.Number) Shell.Console.WriteLine "File: " & error.File Shell.Console.WriteLine "Line: " & error.Line Shell.Console.WriteLine error.Description & vbCRLF Set error = Nothing End If Set Script = nothing
err.box 的代码如下:
a = "asd" + 100 Sub OnScriptError Shell.Console.WriteLine "OnScriptError" End Sub Sub OnScriptEnd Shell.Console.WriteLine "OnScriptEnd" End Sub
运行结果在控制台输出下面的信息:
OnScriptError Microsoft VBScript runtime error Error Number: 800A000D File: \err.box Line: 1 Type mismatch: '[string: "asd"]'