我试图使用obj.setValue(value,forKey:key)在我的Swift代码中设置@objc对象的值.
当对象具有设置的属性时,它工作正常.但如果没有,我的应用程序会因未被捕获的NSException而崩溃(“类不符合关键值编码……”).
如何在Objective-C中捕获并吸收此异常,以免崩溃我的应用程序?我尝试用Swift try-catch包装它,但它抱怨说没有任何指令抛出并且什么都不做.
看到这个
answer:
// // ExceptionCatcher.h // #import <Foundation/Foundation.h> NS_INLINE NSException * _Nullable tryBlock(void(^_Nonnull tryBlock)(void)) { @try { tryBlock(); } @catch (NSException *exception) { return exception; } return nil; }