0
通常情况下,这个例外是由零除。唯一的问题是,当我将分母中的变量的值记入数值不为零时。代码:arithemetic异常被抛出,但为什么?
breuk.m
#import "breuk.h"
@implementation breuk
@synthesize tellerBreuk;
@synthesize noemerBreuk;
@synthesize ggd;
@synthesize quotientBreuk;
- (id)initWithTeller:(int)mijnTeller andNoemer:(int)mijnNoemer{
self = [super init];
if(self){
int u = mijnTeller;
int v = mijnNoemer;
int temp;
while (v != 0){
temp = u % v;
u = v;
v = temp;
}
ggd = u;
self.tellerBreuk = mijnTeller/ggd;
self.noemerBreuk = mijnNoemer/ggd;
NSLog(@"%i de ggd is %i", self.noemerBreuk, ggd);
//self.quotientBreuk = (float)mijnTeller/mijnNoemer;
}
return self;
}
@end
你怎么知道它不是零?你在分部之后登录。 – Mat
它给self.tellerBreuk上的绿色错误= mijnTeller/ggd; nslog被执行,并且说ggd不为零 – user2895954
如果它在self.tellerBreuk = mijnTeller/ggd上抛出异常;行,你的NSLog不会记录任何东西,所以在该语句前添加NSLog,并检查ggd是不是0 – ogres