0

我在 line: 处遇到错误if (! [self.event.managedObjectContext save:&error])。只有当用户没有在 textField 中输入另一个数字时才会发生这种情况,所以它是0.

- (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'
4

1 回答 1

0

我无法准确说出您要做什么,但是如何使用 try-catch 语法来处理异常并向用户显示该值不允许为 0 的消息。这假设它确实不允许为 0 或它为 0 没有意义。如果它为 0 确实有意义,那么 try-catch 可能不是你所追求的。

于 2011-09-25T15:22:59.643 回答