Обработка ошибок
Чтобы установить системное прерывание по обнаружению ошибки, поместите оператор On Error туда, где вы хотите активизировать это системное прерывание.
Sub CausesAnError()
' Direct procedure flow.
On Error GoTo ErrorHandler
' Raise division by zero error.
Err.Raise 11
Exit Sub
ErrorHandler:
' Display error information.
MsgBox "Error number " & Err.Number & ": " & Err.Description
End Sub
Другая форма оператора On Error Resume Nextпередает управление оператору, следующему за оператором с ошибкой. Этот оператор приводится ниже.
Publ ic Function MyFunctionO
On Error Resume Next
If Err Then
‘обработка
End If
Exit Function
Resumeвозвращает управление программой оператору, вызвавшему ошибку, и пытается выполнить его снова. Если это приводит к повторной ошибке, то программа обработки ошибок сработает снова. Если вы используете оператор Resume, то лучше применить счетчик возникновения ошибки. По достижении некоторого предела счетчика следует выйти из процедуры. Resume Nextпередает управление оператору, следующему за оператором, приведшим к ошибке. Вы можете использовать этот прием только в том случае, если уверены, что ошибка — не критическая и может быть проигнорирована, или если ваш обработчик ошибок откорректирует ситуацию, вызвавшую ошибку.
Дата добавления: 2015-07-30; просмотров: 694;