An example of registering your interface.
defaultMessageProvider = [SUPExceptionMessageDefaultProvider getInstance]; // register a custom message provider SUPServiceRegistry* sr = [SUPServiceRegistry getInstance]; [sr registerService:@protocol(SUPExceptionMessageProvider) withImplementation:defaultMessageProvider];
You can retrieve error codes using the errorCode property of SUPBaseException:
@try { // … } @catch (SUPBaseException *e) { if(e.errorCode != ERR_APP_NOT_REGISTERED) { } }
To retrieve the error message using the preferred language for the device:
@try { // … } @catch (SUPBaseException *e) { NSString* errorMessage = e.message; }
To retrieve the error message for a specific language:
@try { // … } @catch (SUPBaseException *e) { NSString* errorMessageSpanish = [e messageWithLocale:@"es"]; }
You can catch exceptions using the built-in support in Objective-C. The object can be either a SUPBaseException object or a subclass of the SUPBaseException object such as the SUPPersistenceException object.
@try { [self CallMethodThatMightThrowException]; } @catch (SUPPersistenceException *e) { // this will catch all SUPPersistenceException type objects } @catch (SUPBaseException *e) { // this will catch all other SUPBaseExcepiton type objects } @finally { // finally block… }