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 相对来说比较少
避免异常最常用的方式 使用逻辑判断语句
|