代码如下:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
@try
{
int x = 1, y = 0;
double c = (double)x / y;
NSLog(@"c = %f",c);
}
@catch (NSException * e)
{
NSLog(@"\nCaught %@ %@",[e name],[e reason]);
}
@finally
{
NSLog(@"Finally OK!!");
}
}
return 0;
}
程序运行结果:
2012-07-19 19:22:13.537 002[2193:4503] c = inf
2012-07-19 19:22:13.540 002[2193:4503] Finally OK!!
除数为0,为什么程序没有跳到catch中,捕获异常呢?而是正常运行了。。。
------解决方案--------------------
是double类型。
------解决方案--------------------
尽量不要用异常的方式来处理正常的数据正确性判断。。。。。。