首先 - 这不适用于生产代码,纯粹用于开发实验。
我希望能够捕获主线程上可能发生的任何异常。
例如,我想捕获当UIKit异步调用委托方法时可能发生的异常,即如果委托方法不存在。
如果我使用例如method-swizzle [UICollectionView layoutSubviews]来捕获异常,我可以这样做:
@implementation UICollectionView (ExceptionHandling)
-(void)swizzled_layoutSubviews {
@try{
[self swizzled_layoutSubviews];
} @catch (NSException *e){
NSLog(@"===== EXCEPTION %@ =====",e);
}
}
....
但我真的希望能够更普遍地做到这一点,这样我就不必调整每一种方法。
任何方便的想法?