VBA中的错误处理有哪些好的模式?特别是在这种情况下我应该怎么做:... some code ...... some code where an error might occur ...... some code ...... some other code where a different error might occur ...... some other code ...... some code that must always be run (like a finally block) ...我想处理这两个错误,并在可能发生错误的代码之后恢复执行。此外,最后的代码必须始终运行 - 无论先前抛出什么异常。我怎样才能达到这个目的?
3 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
我还要补充一下:
全局
Err
对象是您与异常对象最接近的对象你可以有效地“抛出异常”
Err.Raise
而且只是为了好玩:
On Error Resume Next
是魔鬼的化身和被避免,因为它默默地隐藏错误
湖上湖
TA贡献2003条经验 获得超2个赞
所以你可以这样做
Function Errorthingy(pParam)
On Error GoTo HandleErr
' your code here
ExitHere:
' your finally code
Exit Function
HandleErr:
Select Case Err.Number
' different error handling here'
Case Else
MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, "ErrorThingy"
End Select
Resume ExitHere
End Function
如果你想烘焙自定义异常。(例如违反业务规则的那些)使用上面的示例,但使用goto根据需要改变方法的流程。
添加回答
举报
0/150
提交
取消