Вы можете получить окно сообщения, которое очень похоже на стандартное сообщение об ошибке, поместив его в свой блок «Else»:
MsgBox "Run-time error '" & Err.Number & "':" & _
vbNewLine & vbNewLine & _
Error(Err.Number), vbExclamation + vbOKOnly, _
"YourProjectNameHere"
Но это просто факсимиле.Это не фактическое сообщение об ошибке, которое выдает VB6;это просто отформатировано, чтобы выглядеть так.Обработка ошибок все еще отключена оператором «On Error Resume Next» на этом этапе.
Но если вы действительно, реально хотите вызвать стандартный код обработки ошибок, вы можете поместить это в блок «Else»:
Dim SaveError As Long
SaveError = Err.Number
On Error Goto 0
Error (SaveError)
Этот код сохраняет номер ошибки, повторно включает обработку ошибок, а затем повторно вызывает ошибку.Таким образом вы вызываете механизм обработки ошибок VB во время выполнения.Но будьте осторожны: если эта ошибка не будет обнаружена активным обработчиком ошибок где-то выше в цепочке вызовов, она завершит вашу программу после того, как пользователь нажмет кнопку «ОК».
Обратите внимание, что вы также потеряете возможность получить фактический номер строки, где произошла ошибка, используя «Erl» в этом обработчике ошибок, потому что вы заново генерируете ошибку времени выполнения с помощью оператора «Error (SaveError)».Но это, вероятно, не будет иметь значения, потому что большая часть кода VB на самом деле не использует никаких номеров строк, поэтому Erl в любом случае просто возвращает 0.