每一种语言都有自己的异常处理机制,几乎都类似有一个 Exception 类型,和一个 throw 的动作。

使用NSExpection系统

通过Expection的 exceptionWithName 定义一个异常说明。使用 @throw 抛出这个异常

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

NSException* ex =[NSException exceptionWithName:@"error happen ..." reason:@"haha.." userInfo:nil];

@try {
@throw ex;
} @catch (NSException *exception) {
NSLog(@"catch expection %@",exception.name);
} @finally {
NSLog(@"finally ...");
}
return 0;
}

控制台输出如下:

1
2
3
2017-03-06 17:16:29.790786 oc[56297:1862847] catch expection error happen ...
2017-03-06 17:16:29.791746 oc[56297:1862847] finally ...
Program ended with exit code: 0