如何猜测 libpqxx C++库函数引发的异常类型

How to guess the exception type thrown by libpqxx C++ library functions?

本文关键字:异常 类型 库函数 何猜测 libpqxx C++      更新时间:2023-10-16

我正在使用libpqxx,但我坚持以下问题。

让我们说pqxx:connection_base类抛出异常的一些函数,根据connection_base.hxx文件:

void disconnect() throw ();

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

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

具有空抛出的异常规范告诉您此函数不会引发任何异常

您不应该猜测函数显示的异常,要么函数不应包含任何异常规范,这意味着它可以抛出任何异常(可以通过捕获所有处理程序捕获catch(...)注意:这是一种不好的做法),或者它应该记录它可以抛出的异常。

在这种情况下,至少文档说它不应该抛出任何异常,如果它确实将其报告给函数的提供者。