加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Swift中捕获Objective-C异常

发布时间:2020-12-14 05:47:55 所属栏目:百科 来源:网络整理
导读:我试图使用obj.setValue(value,forKey:key)在我的Swift代码中设置@objc对象的值. 当对象具有设置的属性时,它工作正常.但如果没有,我的应用程序会因未被捕获的NSException而崩溃(“类不符合关键值编码……”). 如何在Objective-C中捕获并吸收此异常,以免崩溃
我试图使用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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读