抛出异常(C++)的方法的命名约定?

Cha*_*onX 2 c++ exception naming-conventions

我们正在开发一个中型到大型的C++代码库,并且正在重构它以使其更好地形成.

最近有人建议我们扩展我们的函数命名约定(可能)抛出异常,以便更容易确定 - 一目了然 - 函数是否可能throw异常(通过调用函数直接或间接throw).

虽然我发现能够更容易地获得信息的能力是完整的,但我不能动摇这种可能导致麻烦的感觉,因为没有工具辅助的方式来验证和执行该约定 - 因此你不能真正依赖于惯例(除了它给出了提示).

由于我对此感到沮丧和不确定,所以我决定从这里寻求建议:
那么,使用这样的命名约定是一个好主意/值得努力,并且是否有既定的约定?

Bat*_*eba 5

它真的不会决定任何事情.这将是另一个在编程阶段无法执行的特殊约定:如果有人重构函数并忘记更改其名称会发生​​什么?

如果有人因为该函数可能发生的异常变化而被迫更改函数名称,那么由于重载过程可能会对程序引入重大更改:弄乱函数名称会产生意想不到的副作用.

从C++ 11开始,您可以使用noexcept可能有用的说明符.