I have exceptions created for every condition that my application does not expect. UserNameNotValidException, PasswordNotCorrectException etc.
UserNameNotValidException
PasswordNotCorrectException
My little guidelines are heavily influenced by the great book "Code complete":