There are times in a programmer’s life where he receives a bug report and realizes right away that it’s not a bug but the user failing to understand how to use the software. This is one of those cases:
I am the developer of some family tree software (written in C++ and Qt). I had no problems until one of my customers mailed me a bug report. The problem is that he has two children with his own daughter, and, as a result, he can’t use my software because of errors.
Those errors are the result of my various assertions and invariants about the family graph being processed (for example, after walking a cycle, the program states that X can’t be both father and grandfather of Y).
How can I resolve those errors without removing all data assertions?
Obviously a case of user error.