For to many times in LOB applications do I see error produced by users doing things "they were not suppose to do" or in an out of order manner or something like that
to many programmers go with the "well the user should not have done that" instead of understanding that their program should have never allowed the error in the first place.
Machine do as they are instructed by humans. Machines do not make mistakes, programmers do.