Я определяю собственный тип ошибки с синтаксисом Swift 3, и я хочу предоставить удобное описание ошибки, которая возвращается свойством localizedDescription
объекта Error
. Как мне это сделать?
public enum MyError: Error {
case customError
var localizedDescription: String {
switch self {
case .customError:
return NSLocalizedString("A user-friendly description of the error.", comment: "My error")
}
}
}
let error: Error = MyError.customError
error.localizedDescription
// "The operation couldn’t be completed. (MyError error 0.)"
Есть ли способ вернуть localizedDescription
мое пользовательское описание ошибки ( "Удобное описание ошибки" )? Обратите внимание, что здесь объект ошибки имеет тип Error
, а не MyError
. Я могу, конечно, передать объект в MyError
(error as? MyError)?.localizedDescription
но есть ли способ заставить его работать, не отбрасывая мой тип ошибки?