Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 libpqxx,但我坚持以下。
根据文件,可以说 pqxx:connection_base 类抛出异常的某些功能connection_base.hxx:
connection_base.hxx
void disconnect() throw ();
我的问题是:我怎么能猜出抛出了什么样的异常?我应该期待pqxx::exceptionapqxx::sql_error吗?包含文件对我来说似乎没用,而文档,一个 Doxygen 生成的文件显然没有帮助。
pqxx::exception
pqxx::sql_error
void disconnect() throw (); ^^^^^^^^^^
带有空抛出的异常规范告诉您该函数不会抛出任何异常。
你不应该猜测函数显示什么异常,或者函数不应该包含任何异常规范,这意味着它可以抛出任何异常(可以被全部捕获处理程序捕获catch(...)注意:这是一个不好的做法)或者它应该记录它的哪些异常可以扔。
catch(...)
在这种情况下,至少文档说它不应该抛出任何异常,如果它确实将它报告给函数的提供者。