c_cpp 如何在Swift中正确捕获NSExceptions?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 如何在Swift中正确捕获NSExceptions?相关的知识,希望对你有一定的参考价值。

//
//  OCCatch.h
//
//

#ifndef OCCatch_h
#define OCCatch_h

// add the code below to your -Bridging-Header.h
 
/**
 #import "OCCatch.h"
 */

//   How to use it in Swift?
/**
 let exception = tryBlock {
        let statusBar = UIApplication.shared.value(forKey: "statusBar") as? UIView
        //......
    }
  if let exception = exception {  
    print("exception: \(exception)")
  }  
*/

#import <Foundation/Foundation.h>

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

#endif /* OCCatch_h */

以上是关于c_cpp 如何在Swift中正确捕获NSExceptions?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中捕获/记录致命错误?

如何在 Swift 中捕获 NSKeyedUnarchiver“NSInvalidUnarchiveOperationException”?

如何在 swift 2.2 中捕获 NSUnknownKeyException?

如何在 Swift 中使用 AVCaptureSession 捕获图片?

IOS - 如何在 Swift 3 中从 JSON 中捕获动态数组维度

在 Swift 中捕获 NSException