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
错误代号
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:LoadRunner常见问题整理1.LR 脚本为空的解决方法:1.去掉ie设置中的第三方支持取消掉2.在系统属...
    0100阅读 4,356评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 一、ES6简介 ​ 历时将近6年的时间来制定的新 ECMAScript 标准 ECMAScript 6(亦称 ...
    一岁一枯荣_阅读 6,128评论 8 25
  • 1:我是一个骗子,每晚都骗自己可以不梦见你。 2:我是一个骗子,每次做梦都会告诉自己那是真的。 3:我是一个骗子,...
    爱群者阅读 208评论 0 1
  • 先介绍一下自己吧,平凡的职场妈妈一枚,帝都普通二本学校毕业,过着平淡的生活。一直以为自己是低到尘埃里的那种人...
    fairyjin阅读 384评论 1 5