iOS的@try、@catch()

作者: iHTCboy | 来源:发表于2015-03-12 23:19 被阅读2874次

NSArray *tabBarItems=self.tabBar.items;

NSArray * title = @[@"首页",@"分类",@"购物车",@"消息"];

@try {

[tabBarItems enumerateObjectsUsingBlock:^(UITabBarItem * indexItem, NSUInteger idx, BOOL *stop) {

indexItem.title=[title objectAtIndex:idx];

indexItem.image=[UIImage imageNamed:[NSString stringWithFormat:@"menu_0%ld_normal",idx+1]];

NSLog(@"%ld",idx);

}];

}

@catch (NSException *exception) {

NSLog(@"%@",@"有异常");

}

@finally {

NSLog(@"%@",@"最后执行");

}

今天被同事问,所以学习了一下,为什么OC很少用@try @catch

在网上搜索到知乎上的答案,总结一下:

1、@try@catch解决异常的能力强吗?

2、@try@catch对资源消耗多吗?

3、Cocoa开发者习惯了?

结果是:

解决问题能力不强,并造成额外的开销,所以很少用?

问题留给自己,有时间在考证~

nice~

- 如果有什么疑问,可以在评论区一起讨论;

- 如果有什么不正确的地方,欢迎指导!

> 注:本文首发于iHTCboy's blog,如若转载,请注明来源。

相关文章

网友评论

  • 雨林QiQi:感觉Android的try catch 挺好用的,不知道和OC中有什么区别呢 ?
  • 雨林QiQi:额,为什么解决能力不强,比如数组越界这种导致程序崩溃的问题,可以catch住吗,防止程序崩溃。而且一般是什么时候用try catch 呢,OC中?
    iHTCboy:@雨林QiQi 谢谢打赏!针对iOS程序崩溃的情况较少出现,因为苹果审核不通过。另一方面优秀的crash监视软件做的很好。所以针对iOS开发,懒得写了
    雨林QiQi:@iHTCboy 原来是这样,谢谢哈
    iHTCboy:@雨林QiQi 这个只是从性能来考虑。由于苹果手机cpu性能好,理论上OC使用try catch没有问题,可以捕捉到数组越界 空字条等。所谓性能损耗,我的理解最大就是电量,多做一个异常处理,计算就多一点,电量也损耗更多,这些都是积累下来的。所以,为什么要做内存优化,重构,算法设计,都是希望减少cpu计算量,好处自然多多~

本文标题:iOS的@try、@catch()

本文链接:https://www.haomeiwen.com/subject/itebxttx.html