Как отловить исключение Interbase в Connect, когда GDB-файл не существует по заданному пути
На моей машине установлены fib+ comps, и я пытаюсь поймать исключение Interbase при подключении, но одно исключение я не могу поймать
try {
DM->dBase->Connected=false;
DM->dBase->DBName=DBPATH;
DM->dBase->Connected=true;
} catch (Exception &e) {
ShowMessage("Exception "+ (AnsiString(e.Message)));
}
если я изменяю DBPATH на несуществующий файл GDB, он выдает исключение, например
Неудачное выполнение вызвано системной ошибкой, которая препятствует успешному завершению последующих операторов. Ошибка ввода / вывода для файла.Error при попытке открыть файл
Можно ли поймать это исключение???? Я отлаживал свой код, но курсор не появлялся до тех пор, пока не попытался перехватить блокировку исключения, а до этого включалось вышеупомянутое исключение!!!
Если да, как я могу поймать такого рода исключения????
1 ответ
Может ли быть так, что исключение не наследуется от базового класса исключений Exception
, если это так, вы пытались добавить catch(...)
также?
Я не уверен, что полностью понимаю ваш пост, но возможно, что то, что вы видите, не то, что ваша программа не ловит исключение. Это то, что отладчик представляет его вам до того, как он будет обработан вашим оператором catch? Если это так, то вы можете сказать отладчику, чтобы он не представлял вам этот тип исключения.
Приходит ли исключение, если вы запускаете программу вне отладчика?