VBS之异常处理框架

关于 GetRef 函数
  • 返回一个指向一函数或子过程的引用,此过程可绑定某事件。
    *Set object.eventname = * GetRef( procname )
Dim StdErr
Set StdErr = WScript.StdErr
Main

Function Main()
    On Error Resume Next

        Dim x
        x = 1/0

    Catch 11,"HandleDividedByZero"
    DefaultHandler
    On Error GoTo 0
End Function

Function Catch(nErrCode, sErrHandler)
    If Err.Number = nErrCode Then
        GetRef(sErrHandler)()
        Err.Clear
    End If
End Function

Function DefaultHandler()
    If Err.Number <> 0 Then
        StdErr.WriteLine ""
        StdErr.WriteLine "***エラーが発生しました***"
        StdErr.WriteLine " 番号:" & Err.Number
        StdErr.WriteLine " 内容:" & Err.Description
        StdErr.WriteLine "*****************************"
        StdErr.WriteLine ""
        ' Catch = Err.Number
        Err.Clear
    End If
End Function

Function HandleDividedByZero()
    MsgBox "ゼロで除算したとき、こんな処理を実行します。"
End Function
错误代号
  • VBScript 语法错误 中文 | 日文

  • VBScript 运行时错误 中文 | 日文

你可能感兴趣的:(VBS之异常处理框架)