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

标签 c++ exception naming-conventions

我们正在开发一个中型到大型 C++ 代码库,并且正在对其进行重构以使其处于更好的状态。

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

虽然我发现能够更轻松地获取该信息会很简洁,但我无法摆脱这可能会导致麻烦的感觉,因为没有工具辅助的方法来验证和执行该约定 - 因此你不能真正依赖惯例(除了给出提示之外)。

由于我对此感到困惑和不确定,我决定从这里寻求建议:
那么,使用这样的命名约定是一个好主意/值得付出努力吗?是否有为此建立的约定?

最佳答案

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

如果有人由于函数可能产生的异常发生变化而被迫更改函数名称,那么您可能会由于重载解析而在程序中引入重大更改:弄乱函数名称可能会产生意想不到的副作用。

从 C++11 开始,您可以使用 noexcept 说明符,这可能会有所帮助。

关于c++ - 抛出异常的方法的命名约定(C++)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52775900/

相关文章:

c++ - SSL 套接字释放和关闭

exception - 为什么我的变量在 erlang try 中不安全?

javascript - Javascript 中的变量名和函数名实际上可以有多长?

java - 为什么我收到错误消息 "unreported exception Java.io in a java code when trying to read from a text file"?

arrays - 创建根据另一个变量的内容命名的 Perl 哈希值

c# - 代码分析规则异常情况

c++ - 如果只能删除叶子,则删除二叉树的方法数

c++ - 是否可以用外部友元 lambda 函数覆盖虚函数?

c++ - 什么是 & -> double& 的变量

c# - TargetInvocationException 发生了,但我完全不知道为什么