0

次の行でエラーが発生します: 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 に答える