Error handling set: custom without rollback still isnt commiting any changes.
I use mendix 9.12.1, (since I cant pick it then I bring it out here). I don’t know if I understood this correctly but when I use custom error handling without rollback then any newly created objects that I commit aren’t actually commited. I checked and for error handling I use custom without rollback everywhere in this microflow (parent and sub) so it shouldn’t do the rollback. Only when I remove the exception action and let it finish without error then the object is saved. Does it has to work that way or is it a bug that needs to be fixed?
honestly I’m not certain about the available documentation and if my understanding matches with either the documentation or the way it is working, however how I understood error handling in Mendix:
Whenever something (including the error event) throws an error, the CURRENT (sub-)transaction is completely rolled back
When calling a submicroflow with ‘custom with rollback’, a new sub-transaction is started for the part of the error flow
When calling a submicroflow with ‘custom without rollback’, a new sub-transaction is started for the submicroflow
I always find error handling a tricky subject and i see many developers implementing this by trial and error.
In this case i believe changing the endpoint from “error event” to an “end event” will do the trick.
The error event will propagate the error and in that case the error handling of the caller will determine if a rollback will take place or not.