NSInvalidArgumentException не перехватывается в коде - PullRequest
0 голосов
/ 20 июня 2011

Я использую селекторы для динамического вызова функций в Objective-C.Моя проблема в том, что мой блок @try / @catch не перехватывает исключение, если я передаю несуществующее имя функции.

В консоли я получаю необработанное NSInvalidArgumentException и далее вниз получаюuncaught NSException.

Я пытался перехватить два типа исключений в стандартном блоке @try / @catch, но они не регистрируются.Xcode не позволит мне скомпилировать, если я попытаюсь поймать NSInvalidArgumentException, так как это не распознанный тип.

Есть идеи, как решить эту проблему?

@try {
    SEL s = NSSelectorFromString(@"funName");
    [self performSelector:s withObject: nil];
} 
@catch (NSException/NSInvalidArgumentException exception) {
     NSLog(@"ERROR: %@", [exception message/reason];
} 

1 Ответ

5 голосов
/ 20 июня 2011

Многие считают это ошибкой.

См. http://openradar.appspot.com/8081169

Протестировав аналогичный код, я могу заставить его работать на устройстве, но не на симуляторе.

...