This is valid according to the grammar of the standard (see [gram.special] for the braces, and [gram.except] for try
-catch
. GCC 4.8 has it wrong, but GCC 4.9 handles it properly (as do other compilers, as already reported).
I have no idea why BS does not use this syntax in his book. Maybe because he didn't have any compiler at hand that supported this syntax when he compiled his examples to see if they are right (if he did)?