私の質問はこれに似ていますが、さらに明確にする必要があります。私はしばしばこのようなコードの間に例外を受け取ります:
NSError* error;
if (![managedObjectContext save:&error]) {
NSLog(@"Failed to save to data store: %@", [error localizedDescription]);
}
ただし、ブレークポイントをに入れるobjc_exception_throw
と、例外がスローされていることがわかりますsave
。
(gdb) po [$eax name]
NSInternalInconsistencyException
(gdb) po [$eax description]
optimistic locking failure
ドキュメントには、楽観的ロックの失敗は例外ではなくエラーを返すと書かれているので、私はこれを期待していません。
余談ですが@try ... @catch (NSException * e)
、コードでこの例外をキャッチすることすらできないようです。それはすべて奇妙です。