1

我在我的机器上安装了 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 错误。尝试打开文件时出错

是否有可能捕捉到这个异常????我调试了我的代码,但光标直到尝试捕获异常块才出现,在此之前我提到的异常出现了!!!

如果是,我怎么能捕捉到这种异常????

4

1 回答 1

3

可能是异常不是从基异常类继承的吗Exception,如果是这样,您是否也尝试添加 a catch(...)

我不确定我是否完全理解您的帖子,但是您所看到的是否可能不是,您的程序没有捕获异常。是调试器在您的 catch 语句处理它之前将其呈现给您吗?如果是这种情况,那么您可以告诉调试器不要为您显示此异常类型。

如果您在调试器之外运行程序,是否会出现异常?

于 2011-03-07T01:09:38.070 回答