0

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

根据文件,可以说 pqxx:connection_base 类抛出异常的某些功能connection_base.hxx

void disconnect() throw ();

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

4

1 回答 1

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

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

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

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

于 2012-06-01T10:22:46.170 回答