Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Обработка исключений   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.084 c
1-1155108859
Kiloper
2006-08-09 11:34
2006.09.24
Чем отличается в классах Free от Destroy?


15-1157317488
ramzes2
2006-09-04 01:04
2006.09.24
как назначить родителя диалогу


15-1157515336
DeStranger
2006-09-06 08:02
2006.09.24
TheBat!


15-1157535753
pavel_guzhanov
2006-09-06 13:42
2006.09.24
Где в настройках Delphi надо указать, чтобы при запуске


2-1157266373
PWD
2006-09-03 10:52
2006.09.24
Скопировать прямоугольную область с одного TBitmap в другой