我有一个用于获取json的代码。当我的设备连接到互联网时,它工作得很好,但如果没有互联网连接,它会崩溃。 我已经用try / catch块包围了那段特定的代码,但它似乎没有做到这一点。
当然,我可以做一个解决方法,首先检查是否有互联网连接,然后调用我需要的方法,但我想了解这一点。
为什么在这种情况下不会触发@catch,以及在这种情况下如何处理此异常?
以下是代码:
@try {
NSError *error;
NSMutableDictionary* json = [NSJSONSerialization
JSONObjectWithData:_jsonData
options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves
error:&error];
...
@catch (NSException *exception) {
[_indicator stopAnimating];
_indicator.hidden = YES;
[self popUp];
}
因此,尝试填充json字典时会发生异常。
答案 0 :(得分:0)
您的JSON数据_jsonData
似乎是在try~catch
阻止之前获得的,然后问题的来源应该在阻止之外。然后,您需要找出从互联网获取数据的位置,并在那里安装try~catch
块。