异常处理 1.程序的错误 a.一般情况下指的是我们的程序源代码有语法错我 b.错误的后果:无法编译,不能执行 2.BUG .指的是,程序可以编译,连接,执行,只不过程序执行出来的结果并不是我们所预设的那样 3.异常 1)概念:指的是,程序可以编译,连接,执行,当程序在运行的时候程序处于某种特殊情况下的时候,程序的执行就会报错,这种情况较异常. 特点:异常不是一定会发生,而是当程序在运行的时候处于某种特定情况的时候才发生 2)后果:程序立即终止运行,后面的代码不会执行(闪退的原因:1:程序所占用的空间太大.2:程序发生异常..............) 4.异常的处理: 使用@try...@catch处理异常:将有可能发生异常的代码用@try围起来.
@try { 有可能发生异常的代码; } @catch(NSException *ex) 执行步骤: a.如果@try中的代码在执行的时候发生了异常,这个时候程序不会崩溃,而是会立即跳转到@catch中执行代码,@catch中的代码执行完毕后再往下执行 b.如果@try中的代码在执行的时候没有发生异常,这个时候就会跳过;
5使用注意: 1.在@try中的代码执行的时候,如果发生异常会将发生异常的信息封装为1个NSException对象,把这个对象的地址赋值给@catch的参数,然后再执行@catch的代码.所以@catch的参数指向了错误对象,在@catch中如果想要拿到发生异常的原因,就可以访问这个参数的对象. 2.@catch中的代码只有在发生异常的时候,才会执行,所以在@catch中一般写处理异常的代码 3.@catch后面还可以跟1个@finally代码块,无论@try中是否有异常发生,@finally中的代码都会被执行, 4.@try…@catch不是所有的异常都能处理,C语言的异常处理不聊,只能处理OC,但也不是所有OC中的异常都可以处理; (一般情况下都是通过逻辑判断来减少异常的发生)
|