有趣的编程难题...
我未能将错误初始化为零,所以下面的代码崩溃了。
NSString *query = [NSString stringWithFormat:@"http://mysite.com/getlatest.php?a=%@", aSuiteName];
NSURL *url = [NSURL URLWithString:query];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:10];
[request setHTTPMethod:@"GET"];
NSURLResponse *response = nil;
NSError *error;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if ( !data || error != nil ) {
NSLog(@"Error downlading %@", error); //CRASH
return NO;
}
我的问题是,我怎样才能让我的服务器返回一个错误,使得 sendSynchronousRequest:returningResponse:error: 实际上收到一个错误,但仍然继续下载数据?某种非致命错误会导致错误被初始化为 NSError 对象?
这与一个类似的难题有关,我之前希望返回状态信息而不会完全失败。所以,虽然晦涩难懂,但我很想知道是否有这种技术。
虽然这是一个 Cocoa 问题,但我认为答案将在 php.ini 中。就像是
<?php
header( set 503 error here );
return data;
?>