Форум: "Базы";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизОбработка исключений Найти похожие ветки
← →
HelloWord (2006-07-22 15:11) [0]Работаю с базой данный Microsoft Acces 2003, есть поле в таблице которое являеться уникальным - это я определил в самой таблице. Если пользователь ввёл значение которое уже существует в этом поле, то генерируеться ошибка, обрабатываю её так
try
if DataModule1.DseQuery.Modified then
DataModule1.DseQuery.Post;
except
MessageDlg("Такая уже существует. Измените запись, или нажмите кнопку "Отмена"", mtInformation,[mbOk],0);
Exit;
end;
А если в этом блоке сгенерируеться другая ошибка ? Как определить что сгенерировалась именно эта ошибка ?
← →
Johnmen © (2006-07-22 15:25) [1]Здесь рассказано с примерами - try+F1
← →
sniknik © (2006-07-22 15:42) [2]а не надо делить, просто выводи сообшение из самой ошибки .
except
on E: Exception do ... E.Message ...
end;
оно наиболее точно отображает происходящее (по возможности в руской винде на русском), скрывая его (переводя/и т.д. неважно почему) себе же и пользователям проблемы создаеш (тем кто может разобраться, те кто не может/не хочет те обычно любую выводимую ошибку игнорируют).
хотя это ексепт класса EOleException, у него есть код ошибки (не у всех бывает)... в принципе посмотреть его и разделить конечно можно... но не нужно ИМХО (в руской интерпретации имхо... это когда "хрен оспориш" ;о)). наверняка что нибудь пропустиш/забудеш/не учтеш в итоге будет либо полная лажа в сообщении либо его вообще не будет.
← →
Anatoly Podgoretsky © (2006-07-23 11:57) [3]HelloWord (22.07.06 15:11)
Странная какая то обработка исключений, получается если я введу недопустимое значение, то в ответ получу, что запись уже существует.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c