Как говорится в документации Apple, большинство исключений создаются в исключительных случаях.(Некоторые исключения не такие, как доступ к объекту за пределами NSArray.)
.NET поощряет локальную обработку исключений.Какао написано, чтобы поощрить обработку исключений большого объема.Причина, по которой у вас есть локальная обработка исключений в .NET, заключается в том, что вы ожидаете, что какая-то часть выйдет из строя ожидаемым образом (например, ошибка сети при загрузке чего-либо).В Какао это выполняется с помощью методов, которые вместо этого возвращают NSErrors.Это то же самое, только более заметно в сигнатуре метода.
Хорошее эмпирическое правило заключается в том, что Какао выдает исключение только в ситуациях, когда неясно, как вы вообще восстановитесь.(Не принимайте это за исключения, возникающие повсюду, как в .NET и , так как с этим трудно справиться.)