Академия Кода
1.83K subscribers
665 photos
2 videos
2 files
43 links
Академия кода. Полезный контент по программированию. По всем вопросам @evgenycarter
Download Telegram
Как использовать String в качестве ошибок?

Обычно, чтобы сообщать о том, что операция завершилась с ошибкой, в Swift используется протокол Error. Когда мы проектируем чистое API, обычной практикой для выполнения данной цели является создание собственного error enum, в котором прописываются нужные варианты ошибок под конкретный функционал.

Но что делать, если мы хотим получить простое решение для случаев, когда ошибки единичные и смысла создавать отдельный enum нет?

Тогда можно реализовать LocalizedError для String и использовать строку в качестве ошибки. Такой вариант идеально подойдет для возвращение простых, user-facing ошибок.


extension String: LocalizedError {
public var errorDescription: String? { self }
}

func loadDataFromServer(result: @escaping (Result<String, Error>) -> Void) {
// ...
result(.failure("Что-то пошло не так"))
}



#css #handyExtensions #error #basic #swift

Подписывайтесь на канал 👉@coddy_academy