Because the constructors do all of the char checking. Both of these functions really no longer do what they say they do. They only raise exceptions if the course does not exist.