セレクターを使用して、Objective-Cの関数を動的に呼び出しています。私の問題は、存在しない関数名を渡した場合、 @try/ブロックが例外をキャッチしないことです。@catch
コンソールでは、私は捕らえNSInvalidArgumentExceptionられず、さらに下では捕らえられませんNSException。
@try標準/ブロックで2種類の例外をキャッチしようとしました@catchが、登録されていません。NSInvalidArgumentExceptionXcodeは、認識されたタイプではないため、キャッチしようとしてもコンパイルできません。
これを解決する方法について何かアイデアはありますか?
@try {
SEL s = NSSelectorFromString(@"funName");
[self performSelector:s withObject: nil];
}
@catch (NSException/NSInvalidArgumentException exception) {
NSLog(@"ERROR: %@", [exception message/reason];
}