NSSetUncaughtExceptionHandler没有捕获swift中的异常但是Crittercism就是这样做的

时间:2016-02-22 15:36:34

标签: ios swift crash crittercism uncaughtexceptionhandler

NSSetUncaughtExceptionHandler的目的是捕获异常并将其转储到某处,以便我们可以找到应用程序崩溃的原因以及异常是什么。

在Objective C中,它按预期捕获异常。这是reference

但是,当一个例外出现时,它没有被抓住。以下是我在didFinishLaunchingWithOptions

中使用的代码
 NSSetUncaughtExceptionHandler { exception in
            NSUserDefaults.standardUserDefaults().setObject("Exception Details Are \n\nExceptionName--> \(exception.name) \nReason -->\(exception.reason!)\n\(exception.description)", forKey: "Exception")
            NSUserDefaults.standardUserDefaults().setObject("Call Stack Symbols:\(exception.callStackSymbols)", forKey: "ExceptionCallstack")
            NSUserDefaults.standardUserDefaults().synchronize()
        }

以下是我用来破解应用

的代码段
    var c=["a","b","c"]
    var d=c[4]

有谁能告诉我这里我做错了什么。

1 个答案:

答案 0 :(得分:0)

在安装NSSetUncaughtExceptionHandler之前初始化Crittercism。

在处理程序的开头,调用:

[Crittercism logHandledException:exception]; // ObjC

或    Crittercism.logHandledException(exception)// Swift