2011-09-22 155 views
0

我收到一条错误消息:if (! [self.event.managedObjectContext save:&error])。它只发生在用户没有在textField中输入另一个数字时,因此它是0获取NSDecimalNumberOverflowException错误

- (void)viewWillAppear:(BOOL)animated 
{ 
    self.textField.text = 0; 
    [super viewWillAppear:YES]; 
} 

- (void)addProperty 
{ 
    NSDecimalNumber *decimal = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%@", self.textField.text]]; 
    event.carPayment = decimal; 

    NSError *error = nil; 
    if (! [self.event.managedObjectContext save:&error]) 
    { 
     // Handle the error. 
    } 
    NSLog(@"%@", error); 
} 

Error: 2011-09-21 20:31:28.101 Calculator[2391:707] Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. NSDecimalNumber overflow exception with userInfo (null) 

2011-09-21 20:31:28.144 Calculator[2391:707] *** Terminating app due to uncaught exception 'NSDecimalNumberOverflowException', reason: 'NSDecimalNumber overflow exception' 
+0

在文本字段中存在有效值之前,请勿启用“保存”或“下一步”或任何按钮。 –

回答

0

我不能告诉正是你正在尝试做的,但如何使用的try-catch语法来处理异常,并显示一条消息,该值不允许为0。这样用户假设它不被允许为0或者没有意义的为0。如果它有意义的是0,那么try-catch可能不是你所追求的。