Как использовать String в качестве ошибок?
Обычно, чтобы сообщать о том, что операция завершилась с ошибкой, в Swift используется протокол Error. Когда мы проектируем чистое API, обычной практикой для выполнения данной цели является создание собственного error enum, в котором прописываются нужные варианты ошибок под конкретный функционал.
Но что делать, если мы хотим получить простое решение для случаев, когда ошибки единичные и смысла создавать отдельный enum нет?
Тогда можно реализовать
#css #handyExtensions #error #basic #swift
Подписывайтесь на канал 👉@coddy_academy
Обычно, чтобы сообщать о том, что операция завершилась с ошибкой, в 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