Search code examples
c++throwparentheses

Does adding parentheses around a throw argument have any effect?


Is there a difference in writing:

throw SomeException;

and

throw(SomeException);

I have seen some sources that claim the latter (with parentheses) is not a good option for some reason but alas I can not recall where I've seen this.


Solution

  • There should not be any functionality difference between the two expressions apart from the parentheses. I have never heard of any clear reason that says why one should be superior to the other.

    To me the first option looks more intuitive as it does not include the unnecessary parentheses!

    Also as @Pubby said in the comment, one should not confuse with the throw specifier which requires parentheses (throw specifier is probably deprecated).