If we throw the exception here, why assign `nodes`?