我的机器上安装了 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 文件,它会抛出类似
的异常由于系统错误导致后续语句无法成功执行而导致执行不成功。文件的 I/O 错误。尝试打开文件时出错
有没有可能捕获这个异常???? 我调试了我的代码,但光标直到 try catch 异常 block 才出现,在此之前我提到的异常出现了!!!
如果是,我如何捕获这种异常????
最佳答案
会不会是异常不是从基异常类 Exception
继承的,如果是这样,您是否也尝试过添加一个 catch(...)
?
我不确定我是否完全理解您的帖子,但有没有可能您看到的不是,您的程序没有捕捉到异常。是调试器在您的 catch 语句处理它之前将它呈现给您吗?如果是这种情况,那么您可以告诉调试器不要为您提供这种异常类型。
如果在调试器之外运行程序是否会出现异常?
关于database - 当给定路径上不存在 gdb 文件时如何捕获 Interbase on Connect 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203002/