Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Как и что отвечать (Лирическое вступление ))))

Исключения, возникающие при работе с базами данных

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. Собственные оценки...

• Альтернативные взгляды, способы реализации.

• Ваши собственные оценки, предложения, их обоснованность.

• Если бы министром (директором) были вы, то...

Выстроенный по такой схеме ответ, за небольшим исключением общих теоретических и исторических вопросов, не оставит сомнений в том, что вы хорошо понимаете сущность проблем, сформулированных в экзаменационных вопросах.

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


<== предыдущая лекция | следующая лекция ==>
Предопределенные обработчики исключительных ситуаций | Социально-педагогическая деятельность с многодетными семьями
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 287; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.055 сек.