Если обрабатывать именно с помощью ON ERROR - то никак GoTo здесь - часть синтаксиса вызова обработчика ошибок, а не "безусловный переход".
И почему у вас процедура обработки ошибки не завершается оператором Resume?
Ну или [vba]
Код
Sub Пробирка() On Error GoTo errorHandler y = 5 / 0 On Error GoTo 0 MsgBox "Ошибки нет" Exit Sub errorHandler: MsgBox "Ошибка " & err.description End Sub
[/vba]
Вообще, в хелпе по On Error нормально показано, как можно использовать обработчик.
[offtop]Да, спешка не доводит до добра - учту замечания :)[/offtop]
Если обрабатывать именно с помощью ON ERROR - то никак GoTo здесь - часть синтаксиса вызова обработчика ошибок, а не "безусловный переход".
И почему у вас процедура обработки ошибки не завершается оператором Resume?
Ну или [vba]
Код
Sub Пробирка() On Error GoTo errorHandler y = 5 / 0 On Error GoTo 0 MsgBox "Ошибки нет" Exit Sub errorHandler: MsgBox "Ошибка " & err.description End Sub
[/vba]
Вообще, в хелпе по On Error нормально показано, как можно использовать обработчик.
[offtop]Да, спешка не доводит до добра - учту замечания :)[/offtop]AndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Четверг, 08.06.2017, 03:22
Sub Пробирка() On Error Resume Next y = 5 / 0 If Err Then GoSub errorHandler MsgBox "Ошибки нет" Exit Sub errorHandler: MsgBox "Ошибка " & Error(Err.Number) Err.Clear End Sub
[/vba] И никаких goto.
[vba]
Код
Sub Пробирка() On Error Resume Next y = 5 / 0 If Err Then GoSub errorHandler MsgBox "Ошибки нет" Exit Sub errorHandler: MsgBox "Ошибка " & Error(Err.Number) Err.Clear End Sub
Вообще, нужно просто понимать, что On Error - это перехват управления событием "возникла ошибка". А то, что пишется после слов "on error" - это синтаксис назначения обработчика эвента. М то, что там есть слово "goto" - отнюдь не означает какого-либо "перехода куда-то и насовсем"
Александр дал же ссылку - если поразбираться, то все достаточно просто и понятно.
Вообще, нужно просто понимать, что On Error - это перехват управления событием "возникла ошибка". А то, что пишется после слов "on error" - это синтаксис назначения обработчика эвента. М то, что там есть слово "goto" - отнюдь не означает какого-либо "перехода куда-то и насовсем"
Александр дал же ссылку - если поразбираться, то все достаточно просто и понятно.AndreTM