On the other hand, careful programmers also follow these rules:
When you write a function, you should make every effort to detect when a precondition has been violated.
If you detect that a precondition has been violated, then print an error message and halt the program.