NSSetUncaughtExceptionHandler не ловит исключение в быстрой, но Crittercism делает это
Цель NSSetUncaughtExceptionHandler состоит в том, чтобы перехватить исключение и вывести его куда-нибудь, чтобы мы могли найти причину сбоя приложения и что является исключением.
В Objective C это ловит исключение, как и ожидалось.. Вот ссылка
Но в быстром, когда возникает исключение, его не поймали. Вот код, который я использовал в 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 ответ
Инициализируйте Crittercism перед установкой NSSetUncaughtExceptionHandler.
И в начале вашего обработчика, позвоните:
[Crittercism logHandledException: исключение]; // ObjC
или Crittercism.logHandledException(исключение) // Swift