An error situation during program operation is diagnosed in the following cases:
- The program terminated because it received a signal to terminate the program.
- The program exited with a non-zero return code.
The ejudge system allows you to customize the behavior when the program under test exits with a non-zero return code. In particular, one can specify that on some test the specified termination code is normal. In this situation, an exit code of 0 will be treated as an incorrect response, and another non-matching exit code as an error in the program.