Annex A (informative) Grammar summary [gram]

A.13 Exception handling [gram.except]

try-block:
    try compound-statement handler-seq
function-try-block:
    try ctor-initializeropt compound-statement handler-seq
handler-seq:
    handler handler-seqopt
handler:
    catch ( exception-declaration ) compound-statement
exception-declaration:
    attribute-specifier-seqopt type-specifier-seq declarator
    attribute-specifier-seqopt type-specifier-seq abstract-declaratoropt
    ...
throw-expression:
    throw  assignment-expressionopt
exception-specification:
    dynamic-exception-specification
    noexcept-specification
dynamic-exception-specification:
    throw ( type-id-listopt )
type-id-list:
    type-id ...opt
    type-id-list , type-id ...opt
noexcept-specification:
    noexcept ( constant-expression )
    noexcept