UIWebView - 抛出了啥 NSError?

Posted

技术标签:

【中文标题】UIWebView - 抛出了啥 NSError?【英文标题】:UIWebView - what NSError's are thrown?UIWebView - 抛出了什么 NSError? 【发布时间】:2014-06-28 22:16:15 【问题描述】:

当 UIWebView 因为无法访问服务器而无法加载页面时,我试图向用户发出警报。我正在使用委托方法:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 
  // show NSAlert telling user there was a problem

(文档:https://developer.apple.com/library/ios/documentation/uikit/reference/UIWebViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIWebViewDelegate/webView:didFailLoadWithError:)

问题是这个方法也会被调用来处理其他事情——比如当你在前一个页面完成加载之前访问另一个页面时,等等。我应该检查哪些特定的 NSError 来抛出我的 NSAlert? UIWebView 会抛出什么 NSError?我在任何地方都看不到这个记录!

谢谢。

【问题讨论】:

尝试模拟失败的加载并找出抛出的错误代码。然后,一旦得到错误代码,只需检查 NSError 对象代码是否与您计算出的相同。 @Noam Solovechick 谢谢,这实际上是个好主意——我想太多像 Java 异常了。我试试看。 @NoamSolovechick 一旦我得到错误代码,有没有什么地方可以找到这个错误的真实描述? 【参考方案1】:

如果有人遇到同样的问题,解决方案最终是: NSLog 每次调用错误函数时的错误代码和描述。 在我的应用程序中做一些会产生错误的事情 观察输出以确定哪些代码对应于哪些操作(错误描述有帮助)。

这可以通过以下方式实现:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 
    NSLog(@"%d", error.code);
    NSLog(error.localizedDescription);

【讨论】:

以上是关于UIWebView - 抛出了啥 NSError?的主要内容,如果未能解决你的问题,请参考以下文章

检测到致命错误 - 如何知道出了啥问题

从 Core Data 打印 NSError 的 userInfo 会抛出 EXC_BAD_ALLOC

为啥 SKProductsRequestDelegate/SKRequestDelegate didFailWithError 在 NSError 上抛出 EXC_BAD_ACCESS?

创建类别模板出了啥问题

出了啥问题:任务':fluttertoast:compileDebugKotlin'执行失败

我的 SQL 查询出了啥问题?