The goto and error label handling work in completely different ways.

The error handler is not jumping back in this case because the error label is before the command causing the error, so jumping back would likely result in an infinite loop.

That said, the error handler was implemented so long ago that the only way to be sure is to test it out. Either way, its behaviour will not be changed as this would cause backward compatibility issues.