Alors que dans d'autres instructions comme if ... else, vous pouvez éviter les accolades s'il n'y a qu'une seule instruction dans un bloc, vous ne pouvez pas le faire avec les blocs try ... catch : le compilateur ne le croit pas. Par exemple :
try
do_something_risky();
catch (...)
std::cerr << "Blast!" << std::endl;
Avec le code ci-dessus, g++ dit simplement qu'il attend un '{' avant do_something_risky(). Pourquoi cette différence de comportement entre try ... catch et, disons, if ... else ?
Merci !