iOS开发中遇到程序崩溃是很正常的事情,如何在程序崩溃时捕获到异常信息并通知开发者?函数
下面就介绍如何在iOS中实现:指针
1. 在程序启动时加上一个异常捕获监听,用来处理程序崩溃时的回调动做
orm
NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);
官方文档介绍:Sets the top-level error-handling function where you can perform last-minute logging before the program terminates.
UncaughtExceptionHandler是一个函数指针,该函数须要咱们实现,能够取本身想要的名字。当程序发生异常崩溃时,该函数会获得调用,这跟C,C++中的回调函数的概念是同样的。
2. 实现本身的处理函数
blog
void UncaughtExceptionHandler(NSException *exception) { NSArray *arr = [exception callStackSymbols];//获得当前调用栈信息 NSString *reason = [exception reason];//很是重要,就是崩溃的缘由 NSString *name = [exception name];//异常类型 NSLog(@"exception type : %@ \n crash reason : %@ \n call stack info : %@", name, reason, arr); }
以上代码很简单,可是带来的做用是很是大的。
开发