Первоначально были введены функции-try-blocks, чтобы улавливать исключения, создаваемые в конструкторах или деструкторах подобъектов. Синтаксис был расширен до обычных функций для согласованности.
Конечно, было бы возможно ввести такой синтаксис для лямбда. Однако, в отличие от конструкторов и деструкторов, нет практического преимущества перед простом включением try-блока в другую пару { }, за исключением того, что последнее выглядит намного менее неясным.