如何检测NSURLConnection的sendSynchronousRequest:returningResponse:error:是否超时或其他错误
我使用NSURLConnection's
sendSynchronousRequest:returningResponse:error:
方法(在一个单独的NSOperation
线程中)连接到外部服务器来检索数据。 我如何知道操作是否结束超时或其他networking错误?
如果发生错误,则当sendSynchronousRequest:returningResponse:error:
returns时,error参数将不为零。
您可以通过检查[NSError code]
返回的值来检索错误代码。 超时的错误代码是NSURLErrorTimedOut
。
例如:
NSError *error = nil; [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error] if (error.code == NSURLErrorTimedOut) { // Handle time out here }
您可能会向用户显示警报,并将sendSynchronousRequest:returningResponse:error:
的错误参数sendSynchronousRequest:returningResponse:error:
传递给警报消息。
代码将是这样的:
[NSURLConnection sendSynchronousRequest: req returningResponse: &response error: &error]; if (error) { UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"Error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; }
希望能帮助到你!!