Несколько недель назад я начал использовать Core Data впервые в нетривиальном приложении. Одна из вещей, которые меня удивили и смутили, - это то, как работает обработка ошибок. Чтобы привести пример, одна из первых вещей, которые я пробовал, заключалась в том, чтобы установить файл данных как «заблокированный» в Finder, чтобы убедиться, что я правильно обрабатываю объект NSError, возвращаемый ссылкой, когда я устанавливаю URL-адрес файла. К моему удивлению, вместо того, чтобы возвращать нуль и устанавливать NSError, постоянный координатор хранилища поднял неперехваченное исключение из базовых NSData!Обработка ошибок в данных ядра
В то же время, как правило, обработка ошибок иногда бывает ненужной в Core Data. Например, я не вижу очевидной причины, по которой запрос на выборку требует обработки ошибок, кроме ошибок программиста (что, кстати, также вызывает исключение из моего опыта). В этих случаях я передавал NULL для указателя ссылки NSError.
Между блоками try/catch и NSError я мог бы потратить много времени на написание кода, чтобы успокоить Core Data, но я хочу быть практичным в этом, поэтому я не трачу время на код ошибки, который никогда не будет работать. Имея это в виду, как вы относитесь к обработке ошибок в своих приложениях? Какие ошибки вы видели в реальном мире, за которыми вы должны следить?
Это хороший совет, но я действительно надеялся на некоторые практические советы, по которым я, скорее всего, столкнулся с реальным приложением Core Data. – 2008-11-22 22:36:25