Студопедия
rus | ua | other

Home Random lecture






С. Использование команд Resume Next и Resume.


Date: 2015-10-07; view: 362.


В. Использование команды Resume.

Использование команды Resume приводит к повторному выполнению строки, содержащей ошибку; команду целесообразно использовать, если есть уверенность, что ошибка исправима.

· Создать вторую командную кнопку (Caption = Resume), рис. 8.2

· ввести код, данный ниже; стартовать проект, в выведенное после старта проекта диалоговое окно InputBox ввести - 7; выводится сообщение об ошибке. Выполнение программы начинается с повторного ввода данных в диалоговое окно InputBox; ввести число 7 - ошибка исправлена.

Private Sub Command2_Click()' в случае ошибки перейти к локальному обработчику ошибокOn Error GoTo LocalHandler Dim x As Byte, str As String ' описание переменных' ввести число, не соответствующее описанному выше типу ' данныхх = InputBox("Enter a Byte") GoTo LocalExit ' выйти из процедуры, если ошибки не былоLocalHandler:' обработчик выводит номер ошибки и пояснениеstr = CStr(Err.Number) & "-" & Err.Description MsgBox str, vbCritical, "Command2"' продолжить выполнение cо строки, содержавшей ошибкуResume LocalExit:End Sub

Resume Next целесообразно использовать, если пользователь уверен, что программма будет эффективно работать после устранения ошибки.

· Создать третью командную кнопку (Caption = Resume Next, Resume), рис. 8.2

· ввести код, данный ниже; стартовать проект ввести в выводимое после старта проекта окно InputBox - 7; в выведенном диалоговом окне MsgBox сделать щелчок на кнопке "YES"; введeнное число (егo тип не соответствут описанию, данному в коде) будет заменено числом 25. Повторно сделать щелчок на третьей командной кнопке, ввести в окно InputBox - 7, сделать щелчок на кнопке "NO" (что означает "не заменять введeнное число - 7 на число 25") в выведенном диалоговом окне MsgBox; на экран повторно выводится диалоговое окно InputBox, ввести число (тип данных Byte): 7, рис. 8.2

Private Sub Command3_Click()On Error GoTo LocalHandlerDim x As Byte, str As String, mess As Longx = InputBox("Enter a Byte")MsgBox "x = " + CStr(x)GoTo LocalExitLocalHandler:If Err.Number = 6 Then str = "You have entered not Byte:" & vbCrLfstr = str & "The program will now set 25." & vbCrLf' выбрать YES, чтобы программно было установлено ' значение 25str = str & "Select YES to set 25." & vbCrLf ' выбрать NO, чтобы вновь вернуться к вводу числаstr = str & "NO - to return to enter a new value." mess = MsgBox(str, vbCritical + vbYesNo, "Command3")If mess = vbYes Thenx = 25Resume NextElseResumeEnd IfEnd IfLocalExit:End Sub


Рис. 8.2.Обработчики ошибок


<== previous lecture | next lecture ==>
А. Структура обработчика ошибок | Инструменты и средства отладки
lektsiopedia.org - 2013 год. | Page generation: 0.003 s.