Como fornecer uma descrição localizada com um tipo de erro no Swift?

Estou definindo um tipo de erro personalizado com a sintaxe do Swift 3 e desejo fornecer uma descrição amigável do erro retornada pelolocalizedDescription propriedade doError objeto. Como eu posso fazer isso?

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.)"

Existe um caminho para olocalizedDescription retornar minha descrição personalizada do erro ("Uma descrição amigável do erro.")? Observe que o objeto de erro aqui é do tipoError e nãoMyError. É claro que posso converter o objeto para MyError

(error as? MyError)?.localizedDescription

mas existe uma maneira de fazê-lo funcionar sem transmitir para o meu tipo de erro?

questionAnswers(5)

yourAnswerToTheQuestion