Database 当gdb文件不存在时,如何捕获Connect上的Interbase异常';在给定的路径上不存在

Database 当gdb文件不存在时,如何捕获Connect上的Interbase异常';在给定的路径上不存在,database,c++builder,interbase,fibplus,Database,C++builder,Interbase,Fibplus,我的机器上安装了fib+组件 正在尝试捕获连接时的数据库间异常,但有一个异常我无法捕获 try { DM->dBase->Connected=false; DM->dBase->DBName=DBPATH; DM->dBase->Connected=true; } catch (Exception &e) { ShowMessage("Exception "+ (AnsiStrin

我的机器上安装了fib+组件 正在尝试捕获连接时的数据库间异常,但有一个异常我无法捕获

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异常块,光标才出现,在此之前,我前面提到的异常出现了


如果是,我如何捕获此类异常???

是否该异常不是从基本异常类继承的
exception
,如果是,您是否也尝试过添加
捕获(…)

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


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

是的,当我运行应用程序时也会出现异常+1我打赌异常“来自”调试器之外,因为OP正在异常处理程序中调用ShowMessage。