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