Why Do try ... catch Blocks Require Braces?
<p>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:</p>

<pre><code>try
    do_something_risky();
catch (...)
    std::cerr &lt;&lt; "Blast!" &lt;&lt; std::endl;
</code></pre>

<p>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 ?</p>

<p>Thanks!</p>
