Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


4.1.4. Обработка исключений

При работе с MS SQL

 

Подключение к базе данных представляет собой одно из слабых мест в работе программы. В силу самых разных причин клиент может не получить доступ к базе данных. Поэтому при создании приложения следует обязательно включать обработку исключений и возможность предоставления пользователю информации о них.

Для получения специализированных сообщений при возникновении ошибок подключения к базе данных Microsoft SQL Server используются классы SqlException и SqlError. Объекты этих классов можно также применять для перехвата номеров ошибок, возвращаемых базой данных (таблица 10).

Таблица 10. Ошибки SQL Server

Номер ошибки

Описание

17

Неверное имя сервера

4060

Неверное название базы данных

18456

Неверное имя пользователя или пароль

Дополнительно вводятся уровни ошибок SQL Server, позволяющие охарактеризовать причину проблемы и ее сложность (таблица 11).

Таблица 11. Уровни ошибок SQL Server

Интервал

возвращаемых

значений

Описание

Действие

11-16

Ошибка, созданная пользователем

Пользователь должен повторно ввести верные данные

17-19

Ошибки программного обеспечения или оборудования

Пользователь может продолжать работу, но некоторые запросы будут недоступны. Соединение остается открытым

20-25

Ошибки программного обеспечения или оборудования

Сервер закрывает соединение. Пользователь должен открыть его снова

При возникновении исключительной ситуации при соединении с БД возникает исключение типа SqlException. Информация о возникших ошибках содержится в свойстве Errors, представляющем собой коллекцию объектов типа SqlError. Ошибка определяется целочисленным свойством Number, представляющим номер ошибки. Анализируя значение, можно определить причину возникновения ошибки и действия, которые необходимо предпринять для ее устранения.

 

При работе с MS Access

 

При возникновении исключительной ситуации при соединении с БД MS Access возникает исключение типа OleDbException. Собственно информация об ошибках хранится в массиве Errors. У каждого элемента массива есть два свойства:

1. Свойство Message возвращает причину ошибки. Язык сообщения определяется языком MS Access, т. е. если установлена русская версия, то сообщение будет на русском языке.

2. Свойство NativeError (внутренняя ошибка) возвращает номер исключения, генерируемый самим источником данных.

Вместе или по отдельности со свойством SQL State их можно использовать для создания кода, предоставляющего пользователю расширенную информацию об ошибке и действиях, необходимых для ее устранения.

 



<< ПредыдущаяОглавлениеСледующая >>