【发布时间】:2019-01-15 09:35:36
【问题描述】:
我在将NSData 解析为字典时发生随机崩溃。我使用了以下代码。
-(NSArray *)enumDataParser:(NSMutableData *)responseData
{
@try {
NSError *error;
NSDictionary *jsonDictionary = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
}
@catch (NSException *exception) {
[[IFieldServiceCrashLog sharedLog] writeExceptionLogFile:exception];
[self performCatchOperation:exception];
}
}
有时我得到“nil”,有时我的应用程序崩溃 (Exception not catched)。
我确定responseData 不为零,因为无论何时发生崩溃,"error" 都不会给我一个原因(发现错误为零)。
应用程序在方法JSONObjectWithData 本身崩溃。我该如何解决这个问题或处理异常?
【问题讨论】:
-
好像和“Swift”无关,是不是需要加标签?
-
如果我没记错的话,如果
responseData为 nil,您无法捕获所有错误,并且您无法捕获错误。可能还有其他您无法捕捉到的错误。只需检查responseData是否为零。 -
没有必要将它包含在
@try @catch中,因为在Objective-C 中这个方法不会抛出异常,或者至少不会因为序列化错误。 -
@Larme。 responseData 不为零。当我将消息 JSONObjectWithData 发送到响应数据时,它会崩溃。任何解决方法?
-
如何获得
responseData?您的回复是返回NSData,还是返回NSString,您使用dataUsingEncoding转向NSData?
标签: ios objective-c json exception