UIWebView - 错误处理最佳实践

Ste*_*eve 5 ios

我试图找出最合适的方法来处理在UIWebView.

如果我发现网络相关问题或服务器相关问题,我想提醒用户。我无法找到有关要检查的特定错误代码的任何详细信息。这就是我现在所拥有的:

NSInteger errorCode = [error code];

NSString* title = nil;
NSString* message = nil;

if (errorCode == NSURLErrorNetworkConnectionLost || errorCode == NSURLErrorNotConnectedToInternet) {
    title = @"Error";
    message = @"The network connection appears to be offline.";
}

if (errorCode == NSURLErrorTimedOut || errorCode == NSURLErrorBadServerResponse) {
    title = @"Error";
    message = @"There was an error loading the request. Please try again later.";
}

if (title != nil) {
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    alert.tag = TAG_WEB_ERROR;
    [alert show];
}
Run Code Online (Sandbox Code Playgroud)

我是否检查了正确的错误代码?关于检查和处理潜在错误的更好方法有什么想法吗?

Krz*_*tof 4

一些错误代码定义在NSURLError.h 例如NSURLErrorTimedOut

if ([error.domain isEqualToString:NSURLErrorDomain]) {
   if(error.code == NSURLErrorTimedOut) {
      ...
   }
}
Run Code Online (Sandbox Code Playgroud)

不确定这是否是 UIWebView 返回的完整错误代码集。而且没有像 NSError-s 列表这样的东西,你需要检查代码和域。