异常
- 异常是指程序可以进行编译,且在某种情况下,程序运行终止,并且不会运行后面的代码。
异常的处理
-
目的:
- 为了让程序在发生异常的情况下能够不发生崩溃,并且继续执行后面的代码。
-
语法:
@try{ //可能出现异常的代码 }@catch(NSExcetion *name){ //捕获异常后执行的代码 } -
解释:
- 将有可能发生异常的代码放在
@try的大括弧中,当捕捉到代码时程序不会崩溃,而是会跳转到@catch中执行内部的代码。 - 当执行完
@catch中的代码,程序将继续向下执行。 - 如果没有发生异常,程序会跳过
@catch中的代码,继续向下执行。
- 将有可能发生异常的代码放在
-
关于
@catch- 在
@catch中一般会添加一些处理异常的代码,例如打印异常原因可以通过在@catch中直接打印NSExcetion定义的对象。
@try{ //可能出现异常的代码 }@catch(NSExcetion *name){ NSLog(@"%@",name); } - 在
-
关于
@finally- 在
@catch后还可以再加@finally
@try{ //可能出现异常的代码 }@catch(NSExcetion *name){ //捕获异常后执行的代码 }@finally{ //try结束后的代码 }- 无论是否捕捉到异常,在
@try...@catch运行完之后都会运行@finally内的代码。
- 在
注意事项
@try...@catch并不是万能的,它无法处理C语言发生的的异常。- 实际开发中
@try...@catch使用的情况较少,最常用的还是逻辑判断。