捕获主线程上的异常

时间:2014-02-28 12:21:11

标签: objective-c uikit objective-c-runtime

首先 - 这不适用于生产代码,纯粹用于开发实验。

我希望能够捕获主线程上可能发生的任何异常。

例如,我想捕获当UIKit异步调用委托方法时可能发生的异常,即如果委托方法不存在。

如果我使用例如method-swizzle [UICollectionView layoutSubviews]来捕获异常,我可以这样做:

@implementation UICollectionView (ExceptionHandling)

-(void)swizzled_layoutSubviews {
   @try{
       [self swizzled_layoutSubviews];
   } @catch (NSException *e){
       NSLog(@"===== EXCEPTION %@ =====",e);
   }
}
....

但我真的希望能够更普遍地做到这一点,这样我就不必调整每一种方法。

任何方便的想法?

0 个答案:

没有答案