In any case exceptions in here are not really recoverable.
Record assembly is happening from memory so exceptions are bugs at that point.
I think it is safe to increment before and avoid having to save the intermediate value.