我正在爲新聞做一個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值。 –