如果你有一个公共函数可能抛出一个异常,它使用其他(私有或公共)辅助函数也可以抛出异常,我认为你应该记录公共函数可以抛出的异常,这包括辅助函数抛出的异常.
像这样(使用Doxygen):
/**
* @throw Exception ...
* @throw ExceptionThrownByHelper ...
* @throw ExceptionThrownByHelpersHelper ...
*/
void theFunction()
{
helperWhichMayThrowException();
}
Run Code Online (Sandbox Code Playgroud)
并且helperWhichMayThrowException()还调用可能抛出异常的其他函数.
为此,您可以:
theFunction()调用并查找该函数所引发的异常.这是很多工作,当您向助手添加异常时,您可能忘记在某处记录异常.theFunction()并转换它们,这样您就可以确定只抛出您指定的异常.但那么为什么要使用例外?我想使用选项4,但我还没有找到一个好的解决方案,也许它可以用Doxygen吗?或许我只是想要记录多少???
编辑:也许它不是很清楚,但我正在寻找一种简单的方法来记录所有异常(最好使用Doxygen)函数可能抛出而无需手动检查所有辅助函数.一种简单的方法包括"不记录所有异常"或"捕获并转换所有异常theFunction()"