Using grails 3.3.8
Any domainclass.save(flush:true,failOnError:true) does not get saved if a caught exception has been thrown in the service method where the save is being issued. i.e.
try {
//some code that throws exception
} catch (Exception exception) {
print 'some message'
}
domainclass.save(flush:true,failOnError:true)