function-try-block
function-try-block - особая более удобная форма записи try-блоков в функциях. Стандарт : 15[except], A.13[gram.except] (n3290)
function-try-block: try ctor-initializeropt compound-statement handler-seq
ctor-initializer - список инициализации (в конструкторе), опционально compound-statement - обычный блок { операции; } handler-seq - обработчик вида catch(exception& e) { …}
function-try-block работают для функций(gcc 4.5.1):
И этот код полностью эквивалентен обычно коду с исключениями:
Подобное работает и для конструкторов(gcc 4.5.1) :
Однако не заработало для деструкторов (gcc 4.5.1) :