[new uImage] rework error handling so common functions don't reset