[错误本地化描述] 上的 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;的主要内容,如果未能解决你的问题,请参考以下文章

本地开发站点上的 Alamofire SSL 错误

shinyapps.io 服务器上的 data.table 错误,但不是本地错误

本地主机 xampp 上的 500 内部服务器错误

git pull 上的 Git 错误(无法更新本地参考)

本地 WordPress 站点上的 cURL 返回:错误 6(无法解析主机)

服务器上的节点 JS 504 错误,但在本地主机上工作