[错误本地化描述] 上的 EXC_BAD_ACCESS;
Posted
技术标签:
【中文标题】[错误本地化描述] 上的 EXC_BAD_ACCESS;【英文标题】:EXC_BAD_ACCESS on [error localizedDescription]; 【发布时间】:2010-03-17 12:12:10 【问题描述】:此代码引发 EXC_BAD_ACCESS:
NSError* error;
if(![appdelegate.managedObjectContext countForFetchRequest:request error:&error])
DLog(@"Failed to save to data store: %@", [error localizedDescription]);
NSArray* detailedErrors = [[error userInfo] objectForKey:NSDetailedErrorsKey];
if(detailedErrors != nil && [detailedErrors count] > 0)
for(NSError* detailedError in detailedErrors)
DLog(@" DetailedError: %@", [detailedError userInfo]);
else
DLog(@" %@", [error userInfo]);
【问题讨论】:
你可以试试Clang Static Analyzer...对于查漏真的很有帮助.. 【参考方案1】:由于您不问,我假设您想知道导致标题错误的原因。 在我看来,您的查询返回了 0 个对象,并且您将该条件视为没有错误时的错误,因此从未初始化错误(甚至没有分配),这就是您遇到错误的原因访问异常
【讨论】:
【参考方案2】:NSError* 错误 = nil;
是正确的
这不是一个真正的问题。我搜索了那个,我花了很长时间才找到答案,所以就在这里!
【讨论】:
很好,跳过了错误消息,但是(没有看到其余的代码)我认为你的逻辑并不正确。如果 error 为 nil,则向其发送消息不会导致错误,但您可能会在日志中看到虚假消息。 @Victor Jalencas 将“error”设置为 nil 是正确的,但我同意,在“error”为 nil 的情况下跳过 NSLog()/DLog() 也需要跳过空日志消息。以上是关于[错误本地化描述] 上的 EXC_BAD_ACCESS;的主要内容,如果未能解决你的问题,请参考以下文章
shinyapps.io 服务器上的 data.table 错误,但不是本地错误