iOS APP中捕获异常

在入口类方法中调用函数捕捉程序异常行为:代码如下

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   //   //捕获异常的方法为C函数
   NSSetUncaughtExceptionHandler(&getException);

   return YES;
}

捕获异常的方法,如下所示:

//C函数
void getException(NSException * exception)
{
/*需要记录错误原因,并且返回到服务器
 1,知道设备版本
 2,崩溃日期*/
//设备类型 iPhone/iPhone6/iPhone6 Plus/iPad......
NSString * model=[[UIDevice currentDevice]model];
NSLog(@"model--%@",model);
//设备版本
NSString * version=[[UIDevice currentDevice]systemVersion];
NSLog(@"version--%@",version);
//异常出现日期
NSDate * date=[NSDate date];
//崩溃的详细内容(名称,原因,信息,栈内存地址,详细集合)
NSLog(@"%@",exception.name);//异常名称
NSLog(@"%@",exception.reason);//异常原因
NSLog(@"%@",exception.userInfo);//异常信息
NSLog(@"%@",exception.callStackReturnAddresses);//异常的栈内存地址
NSLog(@"%@",exception.callStackSymbols);//异常详细集合

//获取到异常以后,可以立即发送至服务器,考虑到节省用户流量的问题,也可以先保存在本地,然后定期发送给服务器

//记录到本地
//    @"123" writeToFile: atomically:<#(BOOL)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>
//从本地获取,发送至服务器
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,827评论 19 139
  • 八、深入理解java异常处理机制 引子try…catch…finally恐怕是大家再熟悉不过的语句了, 你的答案是...
    壹点零阅读 5,557评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,350评论 18 399
  • 没有水的环绕,山只是山,缺少一份叠峦壮阔之美;没有星星的闪烁,宇宙只是宇宙,缺少一份浩瀚无穷之美;没有落霞与孤鹜齐...
    化骨真人阅读 3,785评论 0 2
  • 【你看或不看,我都在写,你写或不写,时间都在流逝,唯有文字承载的记忆才是永恒!这是我的第515篇原创日记,我相信日...
    小晓智慧会发光阅读 1,873评论 0 1

友情链接更多精彩内容