database - 当给定路径上不存在 gdb 文件时如何捕获 Interbase on Connect 的异常

标签 database c++builder interbase fibplus

我的机器上安装了 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/

相关文章:

c++ - 模板函数实例化的可移植性问题

c++ - 替换字符串的二进制部分?

sql - 内部数据库错误:SQLDA丢失或版本不正确,或变量的数量/类型不正确

php firebird/interbase 外部数据库连接

c# - 对象名称 dbo 表名无效 - Entity Framework 适用于 IIS,但不适用于 Azure 应用服务

mysql - 将数据库从 Postgres 迁移到 MySQL

c++ - 为什么我的代码不显示我的 TButton 数组?

firebird - 使用 ISQL 执行脚本

database - 使用不带 Service_Name 的 SID 将 .NET Core WebApp 连接到 Oracle

java - 如何在java中从字符串创建唯一的整数?