【发布时间】:2011-09-18 17:29:09
【问题描述】:
我正在使用选择器来动态调用 Objective-C 中的函数。我的问题是如果我传递一个不存在的函数名,我的 @try/@catch 块不会捕获异常。
在控制台中,我得到一个未捕获的NSInvalidArgumentException,再往下,我得到一个未捕获的NSException。
我尝试在标准 @try/@catch 块中捕获这两种类型的异常,但它们没有注册。如果我尝试捕捉 NSInvalidArgumentException,Xcode 不会让我编译,因为它不是可识别的类型。
关于如何解决这个问题的任何想法?
@try {
SEL s = NSSelectorFromString(@"funName");
[self performSelector:s withObject: nil];
}
@catch (NSException/NSInvalidArgumentException exception) {
NSLog(@"ERROR: %@", [exception message/reason];
}
【问题讨论】:
-
当然,没问题。抱歉,我没有第一次添加代码。
标签: objective-c ios exception-handling try-catch nsexception