![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте. При работе с базой использую компоненты InterBase. Необходимо предусмотреть случай, когда необходимой для работы программы базы нет. Пытаюсь использовать исключения. Но ничего не получается. Программа вылетает с сообщением об ошибке, что поднято исключение класса EIBInterBaseError. Как правильно написать исключение, чтобы программа корректно срабатывала на такую ситуацию?
Код:
IBDatabase1.Connected:=True; После попытки открыть базу всё и начинается... |
|
#2
|
||||
|
||||
|
самый простой вариант
Код:
try
IBDatabase1.Connected:=True;
Except
ShowMessage('Ошибка подключения к БД');
end; |
|
#3
|
|||
|
|||
|
Цитата:
эх, если бы всё было так просто. не воспринимает этого Delphi.. по идее, должно бы сработать: Код:
try
IBDatabase1.Connected:=True;
except
on EIBInterBaseError do MessageDlg('Ошибка! Не найдена база!',mtError, [mbYes], 0);
end; В ошибке-то, когда программа вылетает, именно этот класс исключений указан (EIBInterBaseError) самим Delphi, а при компиляции программы это всего лишь неизвестный идентификатор... если самостоятельно тип исключения задавать: Код:
type EIBInterbaseError = class (Exception); то снова вылетаю с той же ошибкой о поднятии класса исключения.. |
|
#4
|
||||
|
||||
|
меню Tools-Debugger Options вкладка Language Exceptions снять галочку Stop on Delphi Exceptions
|
|
#5
|
|||
|
|||
|
Цитата:
NumLock, Вы суперрр! Спасибо! |
|
#6
|
||||
|
||||
|
Только вернуть ее не забудьте в следующем проекте.
|