Как правильно обрабатывать ошибки сохранения Core Data при работе с пользователем на iPhone? - PullRequest
7 голосов
/ 26 июля 2010

Итак, у меня есть базовое приложение для хранения, поиска и обработки данных. Основные операции CRUD. В разных местах моего кода, где я храню или обновляю эти данные, я в основном имею это:

NSError *error;
if (![self.managedObjectContext save:&error]) {
  // TODO: Handle this error
  NSLog(@"Error while saving data %@, %@", error, [error userInfo]);
}

Что делает большинство людей, исходя из опыта пользователей, когда появляются подобные вещи?

Единственное, что приходит на ум, - это просто вспомнить какой-то ужасный UIAlertView с расплывчатым сообщением о том, что что-то пошло не так; не совсем уверен, как восстановить эти вещи.

В качестве аргумента давайте предположим, что в моей модели практически нет проверок, поэтому единственными ошибками, которые могут возникнуть, может быть либо что-то ужасно неправильное, либо проблема программирования.

Какие-нибудь хорошие идеи по работе с пользователем?

Ответы [ 3 ]

5 голосов
/ 04 августа 2010

У Якоба Нильсена есть несколько кратких указаний , которые вы, возможно, захотите проверить;из всего, что он предлагает, я настоятельно рекомендую вам указать в сообщении об ошибке, что это не ошибка пользователя.Исходя из моего собственного опыта тестирования пользователей, большинство пользователей считают, что они сделали что-то не так, когда появляется ошибка, и это приводит к разочарованию.

Может быть что-то вроде:

Возникла проблемаЭкономия: не волнуйтесь, это не ваша вина!Если вы перезапустите приложение, вы можете попробовать еще раз.Но, пожалуйста, свяжитесь с [контактом разработчика] и скажите ему, что ошибка была [короткий, запоминающийся код ошибки]

0 голосов
/ 26 июля 2010

Короткий ответ: у меня никогда произошла ошибка сохранения в производственной среде. Обычно я делаю эти утверждения и заставляю их завершать работу приложения. Это сделано для того, чтобы я мог их поймать во время разработки.

Если ваше приложение написано хорошо, у вас не должно быть одного из них, когда пользователь запускает приложение.

Что касается текста, это зависит от вашего приложения, и для них нет общего правила.

0 голосов
/ 26 июля 2010

В таком случае, я думаю, лучше всего было бы подать предупреждение пользователю и выйти из приложения.

...