本文转载了两篇文章,纯属学习所用:
原文地址:http://blog.csdn.net/totogo2010/article/details/9816975
http://blog.csdn.net/naruto_ku/article/details/8779203
在iOS开发时,有时候遇到libc++abi.dylib handler threw exception这样的异常, 虽然在断点出加上了All Exceptions,也断到相应的代码了,但是没打印对应的日志,实际上不是这段代码的问题。因此不知道什么地方出错了。这时候可以用下面的代码来打印异常log
- @try{
- }
- @catch(NSException *exception) {
- NSLog(@"exception:%@", exception);
- }
- @finally {
- }
将有问题的代码放到try块中,然后就可以在catch块里打印出出错信息,调试起来很方便。
这种机制在iOS的体系架构中效率比较低,所以不建议放到产品代码中,只适合用来调试。
如果想详细了解@try语句,可另行查阅资料学习