Default to classic shell if user's default shell not found
If, for some reason, the sysop changes a shell and it's no longer valid, a user will never be able to login. I would suggest that if the user's default shell cannot be found, try changing it to the default classic shell and/or pick the first in the list of shells available, assuming the user has the right privileges for one. This will avoid needlessly disrupting the user's session.