【问题标题】:Does adding parentheses around a throw argument have any effect?在 throw 参数周围添加括号是否有任何效果?
【发布时间】:2012-12-28 13:45:39
【问题描述】:

写法有区别吗:

throw SomeException;

throw(SomeException);

我看到一些消息来源声称后者(带括号)出于某种原因不是一个好的选择,但可惜我不记得我在哪里看到过这个。

【问题讨论】:

  • 也许您将它与 throw 说明符混淆了?
  • 我认为它就像return 语句一样工作;毕竟,机制是相似的。
  • 我不知道throw,但是对于case,你有没有大括号都没关系,但是,有些人说它看起来不好看(+一些编码指南禁止它)。我想这里也一样。
  • 不,我不这么认为。同样的问题也适用于return。我在某处看到写return (4); 是不好的做法
  • @leemes 在case 中使用宏可能很重要;所以只有在相当古老的代码中。

标签: c++ throw parentheses


【解决方案1】:

除了括号之外,这两个表达式之间应该有任何功能差异。我从未听说过任何明确的理由说明为什么一个人应该优于另一个人。

对我来说,第一个选项看起来更直观,因为它不包含不必要的括号!

正如@Pubby 在评论中所说,不应与需要括号的 throw 说明符混淆(throw 说明符可能 deprecated)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 2018-11-21
    • 2018-06-24
    • 2011-06-13
    • 2019-04-15
    • 2015-09-05
    相关资源
    最近更新 更多