在Swift中捕获Objective-C异常

devios1

我试图@objc使用在我的Swift代码中设置对象的值obj.setValue(value, forKey: key)

当对象设置了属性时,它可以正常工作。但是,如果不这样做,我的应用程序将因未捕获而严重崩溃NSException(“类不符合键值编码标准……”)。

我如何像在Objective-C中那样捕获并吸收此异常,以免崩溃我的应用程序?我尝试将其包装在Swift try-catch中,但是它抱怨没有一条指令抛出并且什么也不做。

凯西

看到这个答案

//
//  ExceptionCatcher.h
//

#import <Foundation/Foundation.h>    

NS_INLINE NSException * _Nullable tryBlock(void(^_Nonnull tryBlock)(void)) {
    @try {
        tryBlock();
    }
    @catch (NSException *exception) {
        return exception;
    }
    return nil;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在iOS Objective-C中捕获C ++异常代码?

来自分类Dev

如何从Swift类抛出NSError并将其捕获在Objective-C类中?

来自分类Dev

无法捕获C ++异常

来自分类Dev

在混合C ++中捕获std异常和系统异常

来自分类Dev

C ++在构造函数中捕获异常

来自分类Dev

无法从c ++中的函数捕获异常

来自分类Dev

在Haskell中捕获C ++ FFI异常失败

来自分类Dev

无法从c ++中的函数捕获异常

来自分类Dev

在Android NDK C ++代码中捕获异常

来自分类Dev

C++ 在 MessageDialog 中显示捕获的异常

来自分类Dev

Swift中未捕获的错误/异常处理

来自分类Dev

捕获OutOfMemory异常C#

来自分类Dev

C#等待并捕获异常

来自分类Dev

Swift中的Objective C委托

来自分类Dev

C#中的异常

来自分类Dev

C中的浮点异常

来自分类Dev

Objective-C异常的用法

来自分类Dev

如何从C ++中的构造函数中捕获异常

来自分类Dev

根据C退出代码在ctypes中捕获异常

来自分类Dev

捕获C#中从Delphi DLL引发的异常

来自分类Dev

在C ++中,是否可以强迫用户捕获异常?

来自分类Dev

C#在调用堆栈中捕获未处理的异常

来自分类Dev

无法通过C ++中的引用捕获引发的异常

来自分类Dev

如何停止捕获C#中的特定异常

来自分类Dev

根据C退出代码在ctypes中捕获异常

来自分类Dev

为什么Python无法捕获C ++中引发的异常?

来自分类Dev

C ++中的“ try catch(...)”可以捕获哪些异常?

来自分类Dev

C#在调用堆栈中捕获未处理的异常

来自分类Dev

无法在 try-catch C# 中捕获异常