Hi All,

Romain brought up a valid concern with the changes in my PR #91 that it could 
potentially have an impact on a user's existing exception handling code.

At first look with 120 test cases the impact appeared narrow, affecting just 
`getCause()` calls.  Code that called `getCause()` and cast to a specific 
exception type would most likely break as we added another catch clause that 
inserts another exception into the chain.

One thing that came from the discussion is that when we do or do not wrap a 
users exception with either `MapperException` or `JsonbException` wasn't 
exactly clear or tested.  I added another 300 tests to cover any scenario I 
could imagine and indeed there are some inconsistencies we should address.  See 
the "Review of exception handling" thread.

Where this leaves us is we should most likely not release these changes as a 
patch release 1.2.19 as there is some change in exception handling behavior 
that could affect existing code, which would not be expected in a patch 
release.  Where we should likely go is a 1.3 with a clear mention in the 
release notes that the focus is improving exception handling.

Going forward, there are now tests for a very considerate number of scenarios 
(400+) that assert the type of exception caught and if any exception the user 
has thrown is in the cause chain.  We would be reasonably confident that 
breakage would not occur.

If you have any thoughts or concerns on moving master to 1.3-SNAPSHOT, feedback 
welcome!


-David

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to