我正在使用 libpqxx,但我坚持使用以下内容。
根据 connection_base.hxx
文件,假设 pqxx:connection_base 类抛出异常的一些函数:
void disconnect() throw ();
我的问题是:如何猜测抛出的异常类型?我应该期待一个pqxx::exception
,一个pqxx::sql_error
吗?包含文件对我来说似乎毫无用处,而 Doxygen 生成的文档显然没有帮助。
最佳答案
void disconnect() throw ();
^^^^^^^^^^
带有空 throw 的异常规范告诉您此函数不会抛出任何异常。
你不应该猜测这个函数显示了什么异常,或者这个函数不应该包含任何异常规范,这意味着它可以抛出任何异常(可以被 catch all handler catch(...)
注意:这是一个不好的做法)或者它应该记录它可以抛出哪些异常。
在这种情况下,至少文档说它不应该抛出任何异常,否则它会向函数的提供者报告。
关于c++ - 如何猜测libpqxx C++库函数抛出的异常类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848499/