我正在使用libpqxx,但我坚持使用以下内容。
根据connection_base.hxx
文件,我们可以说pqxx:connection_base类抛出异常的一些函数:
void disconnect() throw ();
我的问题是:我怎么能猜出抛出了什么样的异常?我希望pqxx::exception
,pqxx::sql_error
?包含文件对我来说似乎没用,而文档,Doxygen生成的文件显然无济于事。
答案 0 :(得分:1)
void disconnect() throw ();
^^^^^^^^^^
带有空抛出的异常规范告诉您此函数不会抛出任何异常。
你不应该猜测函数显示的异常,或者函数不应该包含任何异常规范,这意味着它可以抛出任何异常(可以通过catch all handler catch(...)
捕获注意:这是一个不好的做法)或它应该记录它可以抛出的异常。
在这种情况下,至少文档说它不应该抛出任何异常,如果它以其他方式将其报告给函数的提供者。