If an attribute mutator on a JsonModel throws an exception, that exception will also be caught and the change reverted during safeUpdateRecursive
. This lets us support attribute mutators that try to clean up values but will ultimately throw an exception if the data can't possibly be massaged.