Why Does try ... catch Blocks Require Braces?
Posted
by Bidou
on Stack Overflow
See other posts from Stack Overflow
or by Bidou
Published on 2010-06-09T18:57:09Z
Indexed on
2010/06/09
19:02 UTC
Read the original article
Hit count: 144
c++
Hello.
While in other statements like if ... else you can avoid braces if there is only one instruction in a block, you cannot do that with try ... catch blocks: the compiler doesn't buy it. For instance:
try
do_something_risky();
catch (...)
std::cerr << "Blast!" << std::endl;
With the code above, g++ simply says it expects a '{' before do_something_risky(). Why this difference of behavior between try ... catch and, say, if ... else ?
Thanks!
© Stack Overflow or respective owner