我在我的项目中有10个类,目前我在所有10个类的每个方法中都放置了try catch块来捕获异常,这似乎是一个庞大的代码。如何在iOS应用程序中维护单个try catch块
现在我想维护一个单一的try catch块通过项目,意味着如果任何异常发生在我应该通过try catch块捕获的所有10个类中。
是否有可能做这样的... ...
NSArray *arr=[[d1 objectForKey:@"Time"] componentsSeparatedByString:@" "];
NSArray *arr1=[[arr objectAtIndex:1] componentsSeparatedByString:@":"];
这里我的目标“时间”是从服务的到来。 所以如果对象为空,可能会导致 数组超出索引Exception。 我知道我可以通过比较字符串的长度来解决。所以,如果在某些情况下忘记比较长度。 在这种情况下,我想捕捉异常,我想将其发布到我的服务器。
@catch (NSException *exception) {
NSString *stacktrace=[exception.reason stringByReplacingOccurrencesOfString:@"<" withString:@""];
stacktrace=[stacktrace stringByReplacingOccurrencesOfString:@">" withString:@""];
// NSString *strClass = NSStringFromClass([self class]);
NSString *strClass = [NSString stringWithFormat:@"%@ : %@",NSStringFromClass([self class]), NSStringFromSelector(_cmd)];
Item* myStore = [Item sharedStore];
myStore.strErrorDescription=exception.name;
myStore.strErrorStack=stacktrace;
myStore.strErrorPageName=strClass;
[myStore PostError];// To Post the exception to My server.
ErrorView *errorView=[[ErrorView alloc]initWithNibName:@"ErrorView" bundle:nil]; [self presentViewController: errorView animated:NO completion:nil];
}
谢谢。
你确定你正在使用try-catch块吗?它们用于iOS编程,但很少,我仍然没有在Objective-C中编写过一个。 – DBoyer 2014-10-29 05:30:29
你可以做到这一点,但如果你只是调试代码,你可能只想打开一个异常断点。 – 2014-10-29 05:33:29
@DBoyer谢谢reply.is,这不是使用try catch块的好方法 – siva 2014-10-29 05:33:36