黑马程序员技术交流社区

标题: OC基础异常处理个人笔记 [打印本页]

作者: muyan091115    时间: 2016-5-25 22:41
标题: OC基础异常处理个人笔记
1,异常处理

    1),什么是错误?

        一般情况下,错误指的是我们写的源代码不符合语法规范
        然后编译错误

        后果:程序无法编译

        解决:将不符合语法规范的代码改为符合语法规范的代码不就可以了吗?

    2),什么是Bug?

        程序可以编译 链接 执行 程序执行的结果并不是我们所预想的那样

        解决:通过调试寻找发生Bug的原因

    3),什么是异常?

        程序可以编译 链接 执行 程序在执行过程中 处于某种特定条件 程序执行会终止。

        后果:程序会立即崩溃  并且后面的代码不会执行了


2,如何处理异常

    处理方法
        @try{

        }
        @catch(NSException *ex){

        }
        将有可能发生异常的代码放在@try中
        当@try中的代码在执行的时候,如果发生了异常,不会崩溃,
        而是会立即跳转到@catch中的代码 执行完毕@catch后 继续往下执行
        如果@try中的代码在执行的时候,没有发生异常
        就会略过@catch中的代码 继续往下执行


3,@catch中的代码只有在@try的代码发生异常的时候才会执行
    所以@catch中我们一般情况下写处理异常的代码
    发生异常以后 要做什么事情


4,@catch的参数 NSException *ex  通过%@ 打印出EX指向的对象的值
    可以拿到发生异常的原因。


5,@try @catch后面 还可以跟一个 @finally
    @finally中的代码,无论@try中是否发生异常 ,@finally中的代码都会去执行。


6,@try @catch 并不是万能的 并不是所有的运行式错误都可以处理的
    尤其是c语言的错误基本无法处理
    在实际的开发过程中 使用 try - catch 相对来说比较少

    避免异常最常用的方式 使用逻辑判断语句






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2