Не выбрасывать исключения ни для чего, кроме фатальных, невосстановимых, ошибок
Это шаблон проектирования Какао, используемый в рамках и системе. Если вы решили, что хотите использовать исключения для управления потоком, то:
вы идете против паттерна Какао, и ваш код будет не соответствовать системным API
, если в системных рамках, в которых было сгенерировано исключение, любые кадры, эти структуры останутся в неопределенном состоянии
Исключения в Mac OS X и iOS используются только для указания ошибки программиста ; чтобы указать, что приложение вошло в состояние, восстановление которого невозможно. Не тратьте свое время на поддержку исключений, выходящих за пределы этого режима, вы просто будете тратить свое время и создавать код, который не работает как системные платформы.
Обратите внимание, что исключение на iOS на самом деле довольно дорого (и процессор, и память). Кроме того, @finally также не предоставляется бесплатно, хотя издержки @finally относительно незначительны.