Как и что отвечать (Лирическое вступление ))))
Исключения, возникающие при работе с базами данных
Delphi, обладая прекрасными средствами доступа к данным, основывающимися на интерфейсе IDAPI, реализованной в виде библиотеки Borland Database Engine (BDE), включает ряд обработчиков исключительных ситуаций для регистрации ошибок в компонентах VCL работающим с БД. Дадим краткую характеристику основным из них:
- EDatabaseError - наследник Exception ; происходит при ошибках доступа к данным в компонентах-наследниках TDataSet. Объявлено в модуле DB. Ниже приведен пример из Delphi On-line Help, посвященный этому исключению:
repeat {пока не откроем таблицу или не нажмем кнопку Cancel}
try
Table1.Active := True; {Пытаемся открыть таблицу}
Break; { Если нет ошибки - прерваем цикл}
except
on EDatabaseError do
{Если нажата OK - повторяем попытку открытия Table1}
if MessageDlg('Не могу открыть Table1', mtError, [mbOK, mbCancel], 0) <> mrOK
then
raise;
end;
until False;
- EDBEngineError - наследник EDatabaseError ; вызывается, когда происходят ошибки BDE или на сервере БД. Объявлено в модуле DB:
EDBEngineError = class(EDatabaseError)
private
FErrors: TList;
function GetError(Index: Integer): TDBError;
function GetErrorCount: Integer;
public
constructor Create(ErrorCode: DBIResult);
destructor Destroy;
property ErrorCount: Integer;
property Errors[Index: Integer]: TDBError;
end;
Особенно важны два свойства класса EDBEngineError :
Errors - список всех ошибок, находящихся в стеке ошибок BDE. Индекс первой ошибки 0;
ErrorCount - количество ошибок в стеке.
Объекты, содержащиеся в Errors, имеют тип TDBError. Доступные свойства класса TDBError:
ErrorCode - код ошибки, возвращаемый Borland Database Engine;
Category - категория ошибки, описанной в ErrorCode;
SubCode - ‘субкод’ ошибки из ErrorCode;
NativeError - ошибка, возвращаемая сервером БД. Если NativeError 0, то ошибка в ErrorCode не от сервера;
Message - сообщение, переданное сервером, если NativeError не равно 0; сообщение BDE - в противном случае.
- EDBEditError - наследник Exception ; вызывается, когда данные не совместимы с маской ввода, наложенной на поле. Объявлено в модуле Mask.
Заключение
Данный урок должен был дать вам достаточно информации для того, чтобы начать исследование того, как Вы можете использовать систему обработки исключительных ситуаций в вашей программе. Вы, конечно, можете обрабатывать ошибки и без привлечения этой системы; но с ней Вы получите лучшие результаты с меньшими усилиями.
Правильно выстроенный ответ начинается с определения «что такое». Например, если вам необходимо раскрыть сущность и задачи эстетического воспитания в школе, то, естественно, вы должны сначала объяснить, что такое эстетическое воспитание, определить его сущность, четко выделить главные задачи. Затем следует конкретизация отдельных положений, раскрытие содержания каждого из них. Чтобы ваш ответ прозвучал основательно и убедительно, придерживайтесь испытанной структуры изложения знаний.
Структура ответа
1. Что такое...
• Формулировка определений, базисных категорий и понятий.
• Объяснение, расшифровка (при необходимости).
• Альтернативные определения (если имеются).
• Комментарий (научное и живое практическое истолкование).
2. Генезис...
• Откуда есть, пошло, когда и как появилось впервые, как определялось.
• Что известно о первоисточниках.
• Как происходило дальнейшее развитие.
• Современное состояние (краткий комментарий).
3. Сущность...
• Система и ее структура.
• Общие принципы строения.
• Анализ компонентов системы, связей между ними.
• Закономерности развития и функционирования.
4. Технология...
• Основные технологические схемы реализации в отечественной и зарубежной школе.
• Преимущества и недостатки.
• Передовой отечественный и мировой опыт.
• Существующие и нерешенные вопросы (проблемы).
5. Собственные оценки...
• Альтернативные взгляды, способы реализации.
• Ваши собственные оценки, предложения, их обоснованность.
• Если бы министром (директором) были вы, то...
Выстроенный по такой схеме ответ, за небольшим исключением общих теоретических и исторических вопросов, не оставит сомнений в том, что вы хорошо понимаете сущность проблем, сформулированных в экзаменационных вопросах.
Чаще всего ваши ответы преподаватели оценивают, придерживаясь двух критериев — правильности и полноты. По тем дополнительным вопросам, которые возникнут у преподавателя, вы легко догадаетесь, где и в чем ваш ответ не удовлетворяет этим критериям.