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

时间:2012-06-01 10:20:50

标签: c++ exception libpqxx

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

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

void disconnect() throw ();

我的问题是:我怎么能猜出抛出了什么样的异常?我希望pqxx::exceptionpqxx::sql_error?包含文件对我来说似乎没用,而文档,Doxygen生成的文件显然无济于事。

1 个答案:

答案 0 :(得分:1)

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

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

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

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