История изменений
Исправление vbr, (текущая версия) :
Ну вот видишь ты throw new Exception, где он обработается?
Где положено.
С return сразу будет видно.
Нет, не видно.
Ну представь, что этот блок ловит исключения из 15 вызовов. По тексту кода вообще не видно что может пойти не так.
Это не важно. Важно, что идёт так.
Захочешь добавить новый код и не поймёшь, правильно ли сейчас обработается твоё исключение одним общим блоком.
Чего это не поймёшь?
defer — конструкция общего назначения, не обязательно для закрытия ресурсов.
Да, как и try-finally.
А try with resources — магия, которую добавили после провального try-finally.
try with resources это синтаксический сахар для успешного try-finally. Который бы не помешал в Go, кстати говоря.
Исходная версия vbr, :
Ну вот видишь ты throw new Exception, где он обработается?
Где положено.
С return сразу будет видно.
Нет, не видно.
Ну представь, что этот блок ловит исключения из 15 вызовов. По тексту кода вообще не видно что может пойти не так.
Это не важно. Важно, что идёт так.
Захочешь добавить новый код и не поймёшь, правильно ли сейчас обработается твоё исключение одним общим блоком.
Чего это не поймёшь?
defer — конструкция общего назначения, не обязательно для закрытия ресурсов.
Да, как и try-finally.
А try with resources — магия, которую добавили после провального try-finally.
try with resources это синтаксический сахар для try-finally. Который бы не помешал в Go, кстати говоря.