我正在尝试重现运行时出现的错误(如果Err.Number不代表我要处理的错误),例如:
On Error Resume Next
Err.Raise UNWANTED_ERROR
If Err.Number = ERROR_I_WANT_TO_HANDLE Then
'Do my error handling
Else
'reproduce same error
End If
但是我无法重现相同的错误,因为重新引发错误只会产生continue next
语句,而在以下语句中输入On Error Goto 0
时,Err.Number就会从原始错误编号更改为到0,如果我在此语句旁边放置Err.Raise Err.Number
,则错误从0变为5,并引发错误,但原始产生的错误会丢失
概括我的问题是,如果运行时错误不是用户定义的错误,则不应抑制它,并且应将其升高,就像没有适当的错误处理一样
我已经尝试过搜索它,但是找到的所有答案只能解决预期的错误并抑制其他错误