Je suis en train de définir un type d'erreur personnalisé avec la syntaxe Swift 3 et je veux fournir une description conviviale de l'erreur qui est renvoyée par la fonction localizedDescription
de l Error
objet. Comment puis-je le faire ?
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.)"
Y a-t-il un moyen pour que le localizedDescription
pour renvoyer ma description d'erreur personnalisée ("Une description conviviale de l'erreur.") ? Notez que l'objet d'erreur ici est de type Error
et non MyError
. Je peux, bien sûr, transformer l'objet en MyError.
(error as? MyError)?.localizedDescription
mais y a-t-il un moyen de le faire fonctionner sans faire un casting vers mon type d'erreur ?