Access 2002

Описание ошибки


От версии к версии фирма Microsoft изменяет описание ошибки, чтобы сделать его более понятным, и дополняет его новой информацией. К тому же сообщения об ошибках локализованы, то есть зависят от языковой версии Access. По этим причинам в обработчике ошибок лучше пользоваться свойством Err.Number, а не свойством Err.Description.

Листинг 12.3 содержит пример использования объекта Err. В этом примере делается попытка открыть набор записей на основе таблицы, о которой точно не известно, существует она или нет. Если таблица не существует, VBA передает управление обработчику ошибок, который проверяет свойство Err.Number на значение -2147217В65. Код ошибки -2147217865 указывает на то, что имя объекта недействительно, и в этом случае на экран выводится наше собственное сообщение об ошибке. Во всех остальных случаях обработчик ошибок выводит на экран стандартное сообщение с достаточно подробной информацией об ошибке, взятой из свойств Err.Number и Err.Description.

В примерах настоящей главы, связанных с обработкой данных, используются объекты ADO, а не DAO (как в предыдущих изданиях этой книги). В этих библиотеках похожие ошибки имеют совершенно разные коды. Например, ошибка отсутствия указанной таблицы в DAO имеет номер ЗОН, а в ADO — 2147217865. Так что, если вы модифицируете старые приложения для использования новых объектов доступа к данным, придется их протестировать на предмет новых кодов ошибок.

Оператор Select Case использует значение свойства Err.Number для определения типа ошибки. Даже если вы хотите обрабатывать ошибки только одного типа, все равно лучше использовать оператор Select Case, чтобы в дальнейшем можно было добавить операторы Case для обработки еще и других ошибок. Для перехвата неожиданных (а точнее, неучтенных) ошибок всегда используйте оператор Case El se.

Комментарии закрыты