explain throw and rejection in generators