Карточка Junior Ошибки спрашивают часто обновлено
Как объявить свою ошибку в Swift
Вопрос
Как объявить свои ошибки и дать пользователю понятный текст?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Тип, соответствующий Error, чаще enum со связанными значениями: enum LoginError: Error { case wrongPassword, blocked(until: Date) }. Для текста реализуют LocalizedError и errorDescription.
Ответ
Тип, соответствующий Error, чаще enum со связанными значениями: enum LoginError: Error { case wrongPassword, blocked(until: Date) }. Для текста реализуют LocalizedError и errorDescription.
Разбор
Без LocalizedError error.localizedDescription вернёт малополезный системный текст вида «The operation couldn’t be completed».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Ошибки»
- assert, precondition и fatalError
- Сопоставление ошибок в catch
- Сколько стоят ошибки в Swift
- Порядок выполнения defer
- Синтаксис do/try/catch
- Задача на Swift: калькулятор в обратной польской записи с ошибками
- Задача на Swift: валидация формы регистрации
- Формы try в Swift