This Exception thrown by user written code to indicate user data
entry errors, especially in the business rule methods. The idea is
that the calling method can trap them and present neat messages to the
user. Do not use this exception for mysterious internal errors, only
for well defined user errors that do not require a stack trace.