Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Подсказка. Лучше всего с помощью отладки найти и исправить все проблемы во фрагменте кода




Лучше всего с помощью отладки найти и исправить все проблемы во фрагменте кода. После завершения этого процесса можно добавить код обработки ошибок, рассчитанный на непред­виденные проблемы. Если код обработки ошибок вставить раньше, отладить ваше приложе­ние, возможно, будет немного труднее.

 

 

Обычно, когда программа Access обнаруживает ошибку, она переходит к коду, вызвав­шему проблему, переключается в режим прерывания и отображает сообщение об ошибке. Такое поведение полезно, если вы планируете устранять проблему, но оно лишь травмирует обычных пользователей, которые, возможно, работают с вашей БД. Мало того, что они ни­когда раньше не видели программного кода, они окажутся в большой опасности, попытав­шись исправить его, и создадут новые проблемы.

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

Оператор On Error предоставляет несколько вариантов. Можно заставить программу Access пропустить ошибки и попытаться выполнить очередную строку кода, например, сле­дующим образом:

 

On Error Resume Next

Этот вариант почти всегда — не лучший выбор. Если ошибка возникла, за ней вероятнее всего последуют другие. В худшем случае такая ситуация может вынудить вашу программу делать вовсе не то, для чего она предназначена.

Можно также заставить программу Access перейти в конкретное место кода. Далее при­веден пример.

 

On Error Goto ErrorHandlingCode

В данном примере программа Access переходит к разделу, названному ErrorHandlingCode, как только она обнаруживает какую-либо проблему. Вы должны обо­значить этот раздел, указав в отдельной строке его имя и следом за ним вставив двоеточие (:), например, так:

ErrorHandlingCode:

' Если возникла ошибка, Access начинает выполнять ваш код с этой точки

Очень легко понять, как действует система обработки ошибок, если рассмотреть ее ис­пользование на примере функции ValidateCard:

Function ValidateCard(CardNumber As String)

On Error Goto ErrorHandlingCode

 

' Здесь расположен код, реализующий алгоритм Луна

Exit Function


ErrorHandlingCode:

MsgBox "Oops. Did your credit card number have letters?"

ValidateCard = False

End Function

Перечислим несколько важных деталей. Во-первых, оператор On Error помещается в cамом начале программного кода процедуры, поэтому вы можете обнаружить ошибки, возникшие в любом месте последующего кода. Во-вторых, обратите внимание на то, что после ого, как закончен код проверки номера, процедуру завершает оператор Exit Function. Этот оператор не дает программе Access попасть в следующий далее код обработки ошибок, если никакой ошибки не произошло. Наконец, код обработки ошибок выводит окно сообщения, в котором сообщается о нарушении естественного хода событий и возвращается результат, ясно обозначающий проблему. Чаще всего разработчики именно так обрабатывают ошибки. Только помните об обязательном использовании оператора Exit Sub или Exit Function, чтобы избежать случайного выполнения кода обработки ошибок.

 

 


Поделиться:

Дата добавления: 2014-11-13; просмотров: 91; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты