Exceptions interrupting processing, or not ?

I’e a form with some fields and a button.
When I fill fields and then click teh save button 2 logical events are produced
. valueChange on the last changed field
. clik on the button.
Sometimes valueChange produce error and then it throws an exception.
I noticed a “strange behaviour” : sometime the button click event fire and sometime doesn’t.
What is the correct behaviour ?
How can I force it to mantain th same behaviour ?