Bad user input is never an exception. It's the norm!
Bad user input is never an exception. It's the norm! Seriously though.
Exceptions are for exceptional circumstances, and bad/incorrect data from an external source is usually not an exception.
I think that the 'InsufficentCreditException' is a good reason to throw if I understand your use case above. All of the positive flow of the program can be made to process top down, any 'exception' to the positive is a failure and therefore an exception. Mitch says, 'bad user input is never an exception' and 'bad/incorrect data from an external source is usually not an exception', but if you're under 'program by contract', that is exactly the case.
What better reason would there be to throw an exception than invalid data received from an outside source? One final note, your question and your use case don't match. Insufficient Credit is not usually caused by user generated error.
A clear case of cause/effect would make this easier to answer.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.