Хочу подметить, что кейс с try func() вполне юзабелен, потому что в хорошо написанной функции, скорее всего, предусмотренны свои throw там, где это действительно надо.
Так же возможно присваивание с данной конструкцией, например, try obj = func(a, b), при ошибки присваивание просто пропускает данное выражение, а obj = try func(a, b) в таком случае присвоит переменной значение null чего бы нам не хотелось. Можно придумать ещё много примеров фактического применения, но пока что остановимся.
В заключении хочу сказать, что на мой личный взгляд такая структура могла бы заменить громосткий try { ... } catch { ... } finally { ... } возможно не везде, но в некоторых кейсах. В общем, считайте это как синтаксический сахар, ибо нужен он для удобочитаемости.
Обезательно вернусь к вашей работе при надобности, спасибо за ваш труд по облегчению жизни другим!
С автором полностью согласен, сам являюсь таким типом игроков, которые ищут в этом мире лишь гармонии и умиротворения.
Хочу подметить, что кейс с
try func()
вполне юзабелен, потому что в хорошо написанной функции, скорее всего, предусмотренны своиthrow
там, где это действительно надо.Так же возможно присваивание с данной конструкцией, например,
try obj = func(a, b)
, при ошибки присваивание просто пропускает данное выражение, аobj = try func(a, b)
в таком случае присвоит переменной значениеnull
чего бы нам не хотелось. Можно придумать ещё много примеров фактического применения, но пока что остановимся.В заключении хочу сказать, что на мой личный взгляд такая структура могла бы заменить громосткий
try { ... } catch { ... } finally { ... }
возможно не везде, но в некоторых кейсах. В общем, считайте это как синтаксический сахар, ибо нужен он для удобочитаемости.