Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在目标c中捕捉exc_算法_Objective C - Fatal编程技术网

Objective c 如何在目标c中捕捉exc_算法

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

我试图在我的代码中捕获一个除法为0的算术异常,但似乎NSException没有捕获该异常,程序正在终止,并显示消息
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并非例外,而是由操作系统发送的信号。我建议在尝试除法之前检查分母不是零

为了捕捉这一信号更为复杂,可能不值得付出努力

看看

我知道可能与此重复,但由于我没有找到处理此错误的任何解决方案,我提出了以下问题:)你提出的问题使用了一种你知道不起作用的技术。“更复杂”是一种严重的轻描淡写;在信号处理器中,你几乎什么都做不了。它们不是用来捕获错误和恢复以继续执行的机制。您应该首先防止异常发生。