我正在为新闻做一个iPhone应用程序。我通过ASIHTTPRequest
获取新闻数据,并使用JSONKit
进行解析。当连接到Internet它的正常工作,但是如果无线网络连接断开,我收到以下异常和应用程序崩溃:当没有互联网连接时应用程序崩溃
终止应用程序由于未捕获的异常 “NSInvalidArgumentException”的,理由是:“该jsonData说法是空值。'
这里是我的代码:
- (id)objectWithData: (NSData *)jsonData error: (NSError **)error
{
if(jsonData == NULL)
{
[NSException raise:NSInvalidArgumentException format:@"The jsonData argument is NULL."];
}
return([self objectWithUTF8String:(const unsigned char *)[jsonData bytes] length:[jsonData length] error:error]);
}
谁能帮助我吗?
我不明白..你手动提出这个异常,所以你期望什么?当然它会扔它。请从您的网络请求中发布您的退货。 – Martin
我该如何处理这种情况 –
那么,而不是抛出异常,你可能只显示一个Altert,通知用户他的操作需要一些互联网访问。然后你可以返回nil而不是一些json字节,并确保调用函数相应地处理nil值。 –