Вы можете использовать исключения так же, как и исключения в Java, но это не рекомендуемый способ сделать это. Таким образом, перевод Java в Objective-C работает, и большинство людей поймут ваши намерения. Но результат будет таким же плохим, как если бы вы пытались перевести английский на немецкий, используя словарь; написание идеально, но грамматика и контекст совершенно неверны.
Понимание «способа какао» для обработки ошибок и исключений поможет вам создать более надежные приложения для iOS и лучше понять, как использовать официальный и сторонний API: s.
Я написал более длинную запись в блоге на эту тему здесь: http://blog.jayway.com/2010/10/13/exceptions-and-errors-on-ios/
Давайте вспомним важные части:
Исключения следует использовать только для ошибок программирования и фатальных вещей, которые вы не можете исправить. Например, исключение за пределами допустимого диапазона: если вы в первый раз вызвали неверный аргумент, если ваше приложение содержит ошибку, повторная попытка 100 раз не исправит ваше приложение, а только продолжит давать сбой. Исключениями являются исключения для обычного рабочего процесса, которые помогут вам исправить все ошибки до доставки приложения конечным пользователям.
NSError
экземпляры - это то, что вы используете для ошибок, вызванных пользователями, и вещей, которые ваше приложение может восстановить. Например, ошибки ввода-вывода, пользователь может захотеть повторно подключиться к сети, попробовать новый пароль и повторить попытку. Это для ошибок, которые вы можете предсказать, и с которыми приложение или пользователь могут что-то сделать.