我的问题与此类似,但我需要进一步澄清。我经常在这样的代码中遇到异常:
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)
在代码中捕捉到这个异常。这一切都很奇怪。