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

Другие вопросы по тегам