目的 NSSetUncaughtExceptionHandler就是捕获异常并将其转储到某个地方,以便我们可以找到应用程序崩溃的原因以及异常是什么。
在 Objective C 中,它按预期捕获了异常。这是 reference
但是在 swift 中,当出现异常时它不会被捕获。这是我在 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]
任何人都可以告诉我我在这里做错了什么。
最佳答案
在安装 NSSetUncaughtExceptionHandler 之前初始化 Crittercism。
在处理程序的开头,调用:
[Crittercism logHandledException:exception];//对象
或者 Crittercism.logHandledException(异常)//Swift
关于ios - NSSetUncaughtExceptionHandler 没有 swift 捕获异常但是 Crittercism 做到了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35557716/