Search code examples
objective-cios5

How to catch unrecognized selector sent to instance exception?


I am getting after some time unrecognized selector sent to instance exception. When i get this i want just skip it and my app should work.

However i don't know how to catch. As this don't catch:

@property(nonatomic,retain) UIButton *button;
    @try{

       if(button.currentBackgroundImage == nil){//rises exception 
    }
    }@catch(NSException *e){
}

How i could handle this ?

Thanks.


Solution

  • The technique I use and see often is: instead of catching the exception, check if the object responds to the selector:

    if(![button respondsToSelector:@selector(currentBackgroundImage)] || button.currentBackgroundImage == nil) {
      // do your thing here...
    }