c++ - 如何猜测libpqxx C++库函数抛出的异常类型?

标签 c++ exception libpqxx

我正在使用 libpqxx,但我坚持使用以下内容。

根据 connection_base.hxx 文件,假设 pqxx:connection_base 类抛出异常的一些函数:

void disconnect() throw ();

我的问题是:如何猜测抛出的异常类型?我应该期待一个pqxx::exception,一个pqxx::sql_error吗?包含文件对我来说似乎毫无用处,而 Doxygen 生成的文档显然没有帮助。

最佳答案

void disconnect() throw ();
                  ^^^^^^^^^^

带有空 throw 的异常规范告诉您此函数不会抛出任何异常

你不应该猜测这个函数显示了什么异常,或者这个函数不应该包含任何异常规范,这意味着它可以抛出任何异常(可以被 catch all handler catch(...)注意:这是一个不好的做法)或者它应该记录它可以抛出哪些异常。

在这种情况下,至少文档说它不应该抛出任何异常,否则它会向函数的提供者报告。

关于c++ - 如何猜测libpqxx C++库函数抛出的异常类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848499/

相关文章:

c++ - 重复函数的性能和可读性

c++ - 错误 : expected primary-expression before 'OTHER' token

exception - Kotlin协程异常处理——如何抽象try-catch

c++ - 打开PostgreSQL数据库连接的效率

c++ - Libpqxx 连接池

c++ - 声明与。类的定义

C++将字符串数组的元素存储到变量中

java - 在使用 SLF4J 进行日志记录之前, "trimming"异常堆栈跟踪的最佳实践是什么?

c# - 如果需要,使用许多业务异常是否正常?

c++ - pqxx::result::tuple 尚未声明(C++ 的 PostgreSQL 库)