move error-cause handling up a level