IBM Gift Center exception handling

When an exception occurs deep in the service layer, an ECException is thrown up the stack. The GiftRegistryComponentServiceImpl catches all non-runtime exceptions and processes them. If the ECException is not an ECApplicationException, then the exception is simply converted into a ServiceException and thrown to the WebSphere Commerce calling commands to handle. If the thrown exception is an ECApplicationException, then GiftRegistryComponentServiceImpl converts this exception to a confirm BOD and returns it to the calling command.

The following diagram depicts the error handing for the IBM Gift Center:

Conversion of a ECApplicationException to a ConfrimBOD is done automatically. A WebSphere Commerce action can call a helper method to inspect the confirm BOD and on error, throw another ECApplicationException. The following code excerpt illustrates this:

// Call the service and get the result 
updateResult = service.updateGiftRegistry(getUpdateGiftRegistryBOD());

// check the result 
GiftRegistryUtils.checkConfirmBODAndThrowExceptionOnError( 
 updateResult, 
 CLASS_NAME, 
 methodName);

JSP files that include ErrorMessageSetup.jspf, as described above, handle errors and display appropriate error messages.