ОШИБОК
Обработка ошибок
• Работа с ошибками (exception):
• «Перебросить» ошибку выше по стеку вызова
• Обработать ошибку в том месте, где она возникла с помощью блока кода
• Обработать ошибку как Optional значение (и проверять на nil)
• Если не нужно отлавливать тип ошибки (т.е. какая именно произошла)
• В Java нужно было создавать отдельные классы – более громоздкое решение, разрастается проект
defer
• Аналог finally: defer
• Обязательный блок внутри функции, выполнится даже если возникнет ошибка (закрытие файла,
соединения и пр.)
• Не зависит от расположения внутри метода
• Может быть несколько блоков defer, будут вызываться в обратном порядке
Домашнее задание
• Прочитать
• https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.h
tml
• https://developer.apple.com/documentation/swift/error