Спасибо вам большое за видео, про обработки исключений, для это больная тема, просто в языках С#, Ruby, мне легче понять конструкцию try catch чем здесь, но и также для меня больная тема асинхронность в Swift, опять мне лучше понять ее в других языках чем здесь.
Спасибо за видео! А зачем в принципе нужен "try!" ? Зачем рисковать? Могу представить только один случай - когда не нужно возвращать опционал, но это не большая проблема, в сравнении с runtime error
В чем разница подходов? Зачем мне так многословно обрабатывать ошибку в функции (а потом оборачивать вызов еще отдельным синтаксисом), если я могу возвращать опционал сразу в описании типа возвратного и привычно стандартно его обрабатывать(различными способами на мой выбор) и по nil понять, что беда при исполнении произошла. А логирование, если это важно и нужно, обеспечить отдельной структурой, куда писать все комменты по ошибке. Таким подходом я обеспечу непадение приложения более легковестной конструкцией. Что я не понимаю?
Как при вашем подходе определить причину nil? Возможно нужно будет показать причину, почему получился nil. А как ее найти если обработки нет. А самое главное как поймёт пользователь, что случилось?