Oct 10th, 2012, 08:50 AM
Skip-Exceptions get eaten and do not show in log on failure
I have a problem that I encountered a lot lately since sub-version 7 or 8 I think, I change something in my batch which breaks the integrationtests aka I have an error in my data / processing and none of the items gets through...
In such a case I'd assume that I get an error message as normal when my Integration Junit Test fails, but all my Exceptions that I throw and should be logged in the console or log file do not show up.
I debug and see my problem and I can resolve it, but it is never logged.
I looked into the batch code and in my cases the onError methods are called instead of my onSkip method, which should be called since the Exception thrown is one I configured to be a Skip Exception. Yet when I have an error in all available items (or my processing is erronous) then I only get a failed message but not my Skip message and I cannot see what is whron with my batch. This was not a problem some versions before and is most irritating and not understandable why the framework should not call my onSkip method.
The current behaviour makes the error search really messy.
Please check the Exception in this case and call the onSkip and not OnError if the thrown exception is a skip one.