More exception handling and interface tweaks

I fixed for when a number outside of a valid range for choices is
entered. When an invalid number is entered it will just loop over the
input over and over.