IOS开发的哪些异常之异常断点

从Android开发的异常报错到IOS的异常闪退,经历了不一样的处理过程。对于IOS的异常报错刚開始总是非常茫然,永远仅仅告诉你有异常。然后就跳到main.m文件,却不曾我告诉她在那出现。真是吊人胃口。直到我再也无法容忍这个看着异常提示而无法定位的情况,我发现了Exception Breakpoint.下面来自官方的文档:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcnlhbl92YW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

我的理解例如以下:

在你的项目的断点导航页里加入一个异常断点。要下面几个步骤:

1.在断点导航页的左下角,点击+button.

2.选择Add Exception Breakpoint.

3.在弹出的Exception菜单里(ps:我加入的时候没有弹出来),选择你想要运行的断点类型。有下面几种:

3.1 All. 所有的异常类型都停在异常处

3.2 Objective-C. 仅在Objective-C代码处异常停在异常处

3.3 C++. 仅在C++代码处异常时停在异常处

4.选择你要在异常处理的那个阶段时停止(ps:即Break选择,on Throw:抛;on Crath:捕获)

5.点击Done

经过下面操作之后,在应用执行过程中,仅仅要有异常,第一时间就是定位到异常的位置。

时间: 2024-10-08 16:26:40

IOS开发的哪些异常之异常断点的相关文章

iOS开发中常见的一些异常

iOS开发中常见的异常包括以下几种NSInvalidArgumentExceptionNSRangeExceptionNSGenericExceptionNSInternallnconsistencyExceptionNSFileHandleOperationException NSInvalidArgumentException非法参数异常是objective-C代码最常出现的错误,所以平时写代码的时候,需要多加注意,加强对参数的检查,避免传入非法参数导致异常,其中尤以nil参数为甚. 1.集

iOS开发>学无止境 - 只会左键断点?是时候试试这样那样断点了

作者:空之境界 网址:http://supermao.cn/duan-dian-shen-ru-liao-jie/ 点击“阅读原文”可查看本文网页版 编码不能没调试,调试不能没断点(Break Point).XCode的断点功能也是越来越强大. 基本断点 如下图,这种是最常用的断点,也是最容易设置.左键点击一下就可以设置. 编辑断点 断点是可以编辑的. 断点有下面几个属性可以设置: Condition Ignore Action Options Condition 这里可以输入条件表达式,满足条

iOS已发布应用中对异常信息捕获和处理(转)

iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,但是如果是在已经发布的程序中,获取异常的信息有时候是比较困难的. iOS提供了异常发生的处理API,我们在程序启动的时候可以添加这样的Handler,这样的程序发生异常的时候就可以对这一部分的信息进行必要的处理,适时的反馈给开发者. 不足的地方是,并不是所有的程序崩溃都是由于发生可以捕捉的异常的,有些时候是因为内存等一些其他的错误导致程序的崩溃,这样的信息是不在这里体现的. 我做了一个简单的类,进行很基本的

iOS开发网络篇—大文件的多线程断点下载(转)

http://www.cnblogs.com/wendingding/p/3947550.html iOS开发网络篇—多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文件,然后计算每一段的下载量,开启多条线程下载各段的数据,分别写入对应的文件部分). 项目中用到的主要

【06-17】开发中预到的异常

hibernate: bug: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 solution: hibernate在执行save(Object obj)时,如果obj的主键不为空,则会去update而不是save操作,此时如果obj的主键不为空,但是在数据库中查不到时则会抛出该异常,因此save时可以显示将主键字段设为Null. [06-17]开发中预到的

VS开发ArcEngine时的一个异常信息——“ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS components.”

问题描述:程序报错"ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS components." 解决方法:打开program.cs. 把ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); 放到Application.SetCompatibleTextRender

iOS开发网络篇—多线程断点下载

iOS开发网络篇—多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文件,然后计算每一段的下载量,开启多条线程下载各段的数据,分别写入对应的文件部分). 项目中用到的主要类如下: 完成的实现代码如下: 主控制器中的代码: 1 #import "YYViewControl

iOS开发网络请求——大文件的多线程断点下载

iOS开发中网络请求技术已经是移动app必备技术,而网络中文件传输就是其中重点了.网络文件传输对移动客户端而言主要分为文件的上传和下载.作为开发者从技术角度会将文件分为小文件和大文件.小文件因为文件大小比较小导致传输所需时间少传输就快,因此不太容易影响用户体验,可用的技术就多.而大文件因为文件大小比较大导致传输时间长,因此就需要考虑到各种用户体验,比如避免在上传下载文件过程中阻塞主线程影响用户体验,就需要使用到多线程技术:为了给用户友好的进度提示,因此又需要开发中跟踪数据上传和下载数据的变化:为

安卓开发解决android.os.NetworkOnMainThreadException异常方法(主线程不能直接调用webservice)

安卓开发解决android.os.NetworkOnMainThreadException异常方法 2013-01-07 14:01:04|  分类: 技术 |  标签:安卓  技术  java  |举报|字号 订阅 在android 2.3上访问网络的方法,在android 4.0上运行时报android.os.NetworkOnMainThreadException异常,主要问题在于4.0中访问网络不能在主线程中进行,有两个方法可以解决.第一种是在主线程中增加如下代码[不推荐]: // 详见

wp开发之一,第二个异常

1.写了ToDoDataContext类,实现数据存储 在实例化类中,忘记检查 数据库 是否已存在,导致一直报错: "System.Data.SqlServerCe.SqlCeException"类型的未经处理的异常在 Microsoft.Phone.Interop.ni.dll 中发生 经过在ToDoDataContext 实现 CreateDatabase() 后数据保存可正常保存. 2.错误  无法将2类型"System.Data.Linq.Table<Table