Заранее, пожалуйста, извините, что я не понимаю, для iPhone / Objective-C Best Practices;Я пришел из .NET / C # фона.
Хотя я прочитал много постов, касающихся обработки исключений для iPhone, я до сих пор не совсем понимаю, что большинство людей делают для производственного кода.Кроме того, я не смог найти никаких приложений с открытым исходным кодом с обработкой ошибок, которые я обычно ожидаю.Вот мои вопросы:
1) Если произойдет непредвиденный результат, который может привести к сбою приложения в конечном итоге, вы сгенерируете исключение или просто дождитесь его сбоя позже?Например,
if (![fileManager createDirectoryAtPath: myNewDir
withIntermediateDirectories: YES
attributes: nil
error: &myError]) {
// My app shouldn't continue. Should I raise an exception?
// Or should I just log it and then wait for it to crash later?
}
2) Проверяете ли вы параметры?Например, в C # я обычно проверял бы наличие нуля и, если необходимо, выбрасывал исключение ArgumentNullException.
3) Когда происходит сбой приложения, регистрируется ли информация о сбое автоматически или мне нужно установить обработчик необработанных исключений?Могу ли я показать UIAlertView в этом методе, чтобы сообщить пользователю, что случилось что-то плохое, вместо того, чтобы приложение просто исчезло?(Если это так, я не мог заставить его работать.)
4) И наконец, почему я не вижу, чтобы кто-то действительно использовал @ try / @ catch / @ finally?Он широко используется в C #, но я не нашел приложений с открытым исходным кодом, использующих его.(Может быть, я просто смотрю на неправильные приложения.)