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