Я использую селекторы для динамического вызова функций в 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];
}