Добрый день уважаемые.
Полгода назад занялся самообразованием и начал учиться писать под iOS. Трамплином послужили Стэнфордские курсы от Пола Хегарти, которые считаю лучшим источником для начала.
На данный момент зарелизил первое приложение и активно работаю над его разработкой. В приложении используется фреймворк CoreData и на данный момент все данные хранятся на телефоне. Планирую использовать CloudKit для синхронизации с облаком.
Однако по-прежнему остался пробел в знаниях, о том, какие же ошибки есть необходимость хендлить при работе с базой. Во время разработки постарался учитывать все возможные кейсы при сохранении и обработке данных в "ядре" приложения, валидируя данные еще до сохранения из в базе, чтобы избежать возможных ошибок с дубликатами, некорректной вставкой данных и так далее. Поэтому на данный момент практически весь код, связанный с выборкой/вставкой/изменением данных в базе у меня написан на try?. То есть обработки ошибок, как таковых, у меня нет. Сохранились данные - хорошо, работаем далее. Не сохранились, ну и ладно, пользователь увидит, что их нет.
Пробежался глазами по статье Apple -
Troubleshooting Core Data, однако ни одну из подобных ошибок пока не получал во время тестирования, так как стараюсь все валидировать в коде.
На сколько я понимаю, одна из ошибок, которая может у меня случиться - невозможность сохранить данные из-за нехватки места. Однако не знаю, на сколько имеет смысл это хендлить в приложении, поскольку iOS сама напомнит пользователю когда место заканчивается.
Интересуют ваши мысли, товарищи, основываясь на вашем опыте - какие ошибки и как вы обрабатываете, работая с CoreData?
Извините за большое количество текста, хотел максимально описать ситуацию и не хотел с этим вопросом идти на StackOverflow, интересно мнение русскоязычных коллег. В идеале хотелось бы обрабатывать ошибки так, чтобы максимум информации куда-то сохранялось и отпарвлялось мне, как разработчику, для последующего анализа.