Objective c 如何在目标c中捕捉exc_算法
我试图在我的代码中捕获一个除法为0的算术异常,但似乎NSException没有捕获该异常,程序正在终止,并显示消息Objective c 如何在目标c中捕捉exc_算法,objective-c,Objective C,我试图在我的代码中捕获一个除法为0的算术异常,但似乎NSException没有捕获该异常,程序正在终止,并显示消息exc\u arthimatic错误。捕获异常的方法是什么 @try { int k; printf("please enter k value \n"); scanf("%i",&k); int j=1; // testing division 1/0 conditi
exc\u arthimatic
错误。捕获异常的方法是什么
@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");
exc_Arthimatic并非例外,而是由操作系统发送的信号。我建议在尝试除法之前检查分母不是零 为了捕捉这一信号更为复杂,可能不值得付出努力 看看
我知道可能与此重复,但由于我没有找到处理此错误的任何解决方案,我提出了以下问题:)你提出的问题使用了一种你知道不起作用的技术。“更复杂”是一种严重的轻描淡写;在信号处理器中,你几乎什么都做不了。它们不是用来捕获错误和恢复以继续执行的机制。您应该首先防止异常发生。