iOS开发中遇到程序崩溃是很正常的事情,如何在程序崩溃时捕获到异常信息并通知开发者?

下面就介绍如何在iOS中实现:

1. 在程序启动时加上一个异常捕获监听,用来处理程序崩溃时的回调动作

NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);

官方文档介绍:Sets the top-level error-handling function where you can perform last-minute logging before the program terminates.
UncaughtExceptionHandler是一个函数指针,该函数需要我们实现,可以取自己想要的名字。当程序发生异常崩溃时,该函数会得到调用,这跟C,C++中的回调函数的概念是一样的。

2. 实现自己的处理函数

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);
}

以上代码很简单,但是带来的作用是非常大的。

最新文章

  1. 手势(UIGestureRecognizer)
  2. 使用反射,查找WCF异常类型
  3. LINQ的Intersect方法
  4. (转)T-SQL查询处理执行顺序(一)
  5. 一个千万量级的APP使用的一些第三方库
  6. php 多条数据更新
  7. JAVA架构师要求
  8. Failed to execute goal.....webxml attribute is required...
  9. git 提交
  10. php exit、return、break、continue之间的差别,具体介绍
  11. BZOJ_4176_Lucas的数论_杜教筛+莫比乌斯反演
  12. 【mongo】centos6.9安装mongo2.6.3
  13. [Tensorflow实战Google深度学习框架]笔记4
  14. 学JS的心路历程 -数组常见处理方法
  15. Asp.Net 管道事件注册/HttpApplication事件注册
  16. VirtualBox安装及Linux基本操作(操作系统实验一)
  17. Java集合——LinkedList源码详解
  18. Spring quartz定时任务service注入问题
  19. Maven-Dependency Mechanism
  20. C# 中字段和属性的使用时机

热门文章

  1. jQuery -《锋利的jQuery》————读后小结
  2. Python在线教程
  3. django使用haystack对接Elasticsearch实现商品搜索
  4. JVM字节码执行引擎和动态绑定原理
  5. [编程题] 合唱团 && 地闹逃脱
  6. win 10 下面安装 mysql-8.0.12-winx64 的过程
  7. Spring注解@Scope("prototype")
  8. HashMap底层数据结构和算法解析
  9. NBUT 1223 Friends number
  10. Eclipse内嵌的webservice客户端