iOS捕获异常,常用的异常处理方法
2016-04-07 17:05
447 查看
前言:在开发APP时,我们通常都会需要捕获异常,防止应用程序突然的崩溃,防止给予用户不友好的体验。其实Objective-C的异常处理方法和JAVA的雷同,懂JAVA的朋友一看就懂。我为什么要写这篇博文呢?因为我发现百度上的介绍方法,很多都不是我想要的,而我想要的又说得不清楚,重点是大家都是直接复制别人的代码。。。于是不多说,大家往下看~~~
以下程序已测试并通过:
设备:iOS 8模拟器中
开发工具:XCode6.1
使用@try、catch捕获异常:
以下是最简单的代码写法,其中@finally可以去掉:
在这里举多一具比较详细的方法,抛出异常:
tryTwo方法代码:
为了方便大家理解,我在这里再说明一下情况:
如果6抛出异常,那么执行顺序为:1->5->6->8->3->4
如果6没抛出异常,那么执行顺序为:1->5->7->8->9->3->4
2)部分情况的崩溃我们是无法避免的,就算是QQ也会有崩溃的时候。因此我们可以在程序崩溃之前做一些“动作”(收集错误信息),以下例子是把捕获到的异常发送至开发者的邮箱。
AppDelegate.m
以下程序已测试并通过:
设备:iOS 8模拟器中
开发工具:XCode6.1
使用@try、catch捕获异常:
以下是最简单的代码写法,其中@finally可以去掉:
如果6抛出异常,那么执行顺序为:1->5->6->8->3->4
如果6没抛出异常,那么执行顺序为:1->5->7->8->9->3->4
2)部分情况的崩溃我们是无法避免的,就算是QQ也会有崩溃的时候。因此我们可以在程序崩溃之前做一些“动作”(收集错误信息),以下例子是把捕获到的异常发送至开发者的邮箱。
AppDelegate.m
相关文章推荐
- iOS 高效添加圆角效果实战讲解
- 在iOS上绘制阴影
- 友盟iOS推送配置(从真机调试到推送)
- iOS开发隐藏tabBar的问题
- iOS 模态窗口居中弹出背景半透明
- iOS开发-由浅至深学习block
- 给iOS开发自学的建议,附iOS自学资源
- iOS开发-设置导航栏title字体颜色
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- IOS Runtime-初识runtime(一)
- iOS开发-数据持久化 :沙盒,归档反归档,NSFileManager文件管理器(单例)
- iOS 颜色插件失效的解决办法
- iOS系统右滑返回全局控制方案
- IOS开发支付宝集成
- Mac/ios 模拟器 测试模拟慢网速
- IOS图片操作
- iOS 设置系统的状态栏隐藏的方法分享
- iOS可执行文件瘦身(一)资源优化
- iOS项目中安装和使用 Cocoapods
- 【疯狂造轮子-iOS】JSON转Model系列之二