I think its clearer to future programmers if we raise an exception. i.e. "this is not a state we ever expected to get to", rather than "one we should recover from".