Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УчебноеПособие по VB_6.doc
Скачиваний:
21
Добавлен:
24.12.2018
Размер:
3.17 Mб
Скачать

7.1.4. Упражнение: Контроль ввода

  1. Напишите процедуру для контроля правильности ввода данных на уровне формы для формы вычисления площади поверхности геометрических фигур.

  2. Напишите процедуру для контроля правильности ввода данных на уровне полей ввода для программы табулирования функции одной переменной.

7.1.5. Закрепление материала

  1. Какие способы контроля ввода данных Вам известны?

  2. Чем отличаются известные Вам способы контроля ввода данных?

  3. Как реализовать проверку правильности ввода данных на уровне формы?

  4. Для какой цели может использоваться событие KeyPress?

  5. Для какой цели могут использоваться события KeyUp и KeyDown?

  6. Для чего используется событие KeyPreview?

  7. Как обеспечить контроль ввода данных на уровне полей ввода?

  8. Как обеспечить использование события Change для контроля ввода данных?

  9. Какие функции VB6 можно использовать для контроля правильности ввода данных?

7.2. Обработка ошибок

7.2.1. Общие сведения об обработке ошибок

При разработке программы неизбежно возникновение ошибок. Ошибки могут быть вызваны невнимательностью при написании текста программы или из-за логических ошибок. Такие ошибки устраняются при отладке программы и ее тестировании. Но при использовании программы все равно могут возникать ошибки либо по вине пользователя, например, неправильно указано имя файла, не вставлен диск в дисковод и др., а также ошибки, не предусмотренные разработчиком. Такие ошибки принято называть ошибками периода выполнения.

В идеальном случае разработанная программа должна работать без ошибок, однако все возможные ситуации предусмотреть невозможно. В VB предусмотрены стандартные средства обработки ошибок. При обнаружении ошибок периода выполнения программа выводит на экран сообщение о коде ошибки и рекомендации по ее устранению. Однако, после нажатия кнопки ОК в окне сообщения программа завершает работу. При этом обработчик события Unload игнорируется и пользователь теряет все не сохраненные данные. Чтобы при таких ситуациях программа не завершилась аварийно, необходимо в программу включать пользовательские обработчики ошибок. Обработчик ошибок перехватывает сообщение об ошибках периода выполнения и передает управление специальной процедуре обработки ошибок, которая, как правило, предлагает пользователю в режиме диалога устранить причину, вызвавшую ошибку .

Для обработки ошибок в VB6 предусмотрены специальные средства: операторы On Error и Resume, а также объект Err.

Оператор On Error активизирует режим обработки ошибок. Это означает, что при возникновении ошибки периода выполнения после ввода в программу этой строки выполняется предусмотренная в программе процедура обработки ошибки. Выполнение программы не прерывается и стандартное сообщение об ошибке не выводится.

Синтаксис оператора:

On Error {[GoTo <метка> \ Resume Next \ GoTo 0}

Опция GoTo <метка> – передает управление на метку, <метка> должна находиться в той же процедуре, что и оператор On Error. Если в качестве метки указан 0, то предусмотренная разработчиком процедура обработки ошибок отключается и включается стандартный механизм обработки ошибок.

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

Например:

On Error GoTo metka1 – управление передается на процедуру обработки ошибки по метке metka1;

On Error GoTo 0 - процедура обработки ошибки отключается;

On Error Resume Next – выполнение программы начинается со следующего оператора. Ошибка периода выполнения игнорируется.

Оператор Resume [{Label\Next}] – позволяет продолжить выполнение программы. Если параметры опущены, то управление передается на строку, вызвавшую ошибку, для ее повторного выполнения, опция Next возвращает управление на строку, следующую за строкой, вызвавшей ошибку, а опция Label передает управление на указанную метку. Объект Err содержит код ошибки и системное сообщение об ошибке, а также некоторую другую информацию.

Объект Err, как и все объекты, имеет несколько свойств и методов. Свойство Number возвращает код последней возникшей ошибки. Для совместимости с предыдущими версиями Visual Basic это свойство принимается по умолчанию, поэтому коды

ErrNum1=Err

ErrNum2=Err.Number

будут давать одинаковые результаты.

Свойство Description выводит сообщение об ошибке.

Для очистки объекта Err используется метод Clear:

Err Clear

Если не очистить объект Err после возникновения ошибки, то последующие обработчики будут давать сообщения об одной и той же ошибке.