我试图在我的代码中捕获除以0的算术异常,但看起来NSException没有捕获到它,程序正在终止,并显示消息exc_arthimetic error。捕获异常的方法是什么?
@try {
int k;
printf("please enter k value \n");
scanf("%i",&k);
int j=1;
// testing division 1/0 condition
int i=j/k;
NSLog(@" value of i= %i",i);
}
@catch (NSException *exception) {
NSLog(@"exception is = %@ reason is %@",[exception name],[exception reason]);
}
@finally {
NSLog(@"inside finally");
}
NSLog(@" last line");发布于 2012-05-23 03:13:57
exc_arthimetic不是一个例外,而是操作系统发出的一个信号。我建议在尝试除法之前检查分母是否为零。
为了捕捉这个信号是更复杂的,可能不值得努力。
看一看Learning Objective-C. Using Xcode 3.2.1. What is error: Program received signal: “EXC_ARITHMETIC”
https://stackoverflow.com/questions/10708461
复制相似问题