在java中我们经常会做异常处理,可以帮我们抛出许多提示不至于程序crash掉。
在iPhone编程中,我常会碰到一些千年虫的问题,处理的数据到达某个特定值的时候crash,当然跟我当时编写的算法不健壮有关,但是如果加上异常处理,能让我们更迅速的debug,cocoa也有一套NSException异常类来处理异常。基本用法其实跟java差不多,来上代码
@try{
NSMutableArray *array = [[NSMutableArray alloc] init];
[array objectAtIndex:10];
[array release];
}@catch(NSException *e){
NSLog(@"My god");
CFShow(e);
}
程序的log输出是:
2011-08-08 09:26:06.856 MyProgress[865:207] My god
*** -[NSMutableArray objectAtIndex:]: index 10 beyond bounds for empty array
Terminating in response to SpringBoard's termination.