Карточка 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 ошибок.