我正在使用 Restkit 的对象管理器来处理我的大量远程 API 调用。
它会抛出 NSAssert 的各种错误。例如,如果服务器返回一个错误页面而不是格式良好的 JSON,它会引发 NSAssert,即使代码没有任何问题。
我对一些事情感到困惑(其中大部分与异常和 nsasserts 的一般处理有关)。
我们应该如何处理这些 NSAsserts 错误?例如,我们希望重试几次,然后显示“出现问题”消息(而不是让应用程序崩溃)。
我尝试使用 catch-try 块来捕获错误(下面的代码),但错误没有被捕获。所以我的应用程序总是失败。此外,无论如何,我都不愿意在发布模式下使用 try-catch。
只是为了我的理解,为什么 Restkit 使用 NSAsserts,而不是其他失败?
代码:
// code to catch NSAssert that sharedManager throws
@try{
[sharedManager loadObjectsAtResourcePath:self.resourcePath delegate:self];
}
@catch (NSException *ex) {
NSLog(@"exception caught");
}