Software:Return code
In computer programming, a return code or an error code is an enumerated message that corresponds to the status of a specific software application. They are typically used to identify faults, such as those in faulty hardware, software, or incorrect user input.
In systems software
Exit status is the return code of computer programs running as processes, and is communicated through system calls.
In networking software
Network protocols typically support returning status codes. In the TCP/IP stack, it's a common feature of higher level protocols. For example:
- List of HTTP status codes
- List of FTP server return codes
- Simple Mail Transfer Protocol
Error codes and exception handling
Error codes are used in various methods of solving the semipredicate problem. They are generally similar to exception handling in programming languages that support it.
Error codes are slowly disappearing from the programmer's environment as modern object-oriented programming languages replace them with exceptions.[editorializing][citation needed] Exceptions have the advantage of being handled with explicit blocks of code, separate from the rest of the code. While it is considered poor practice in methodologies that use error codes and return codes to indicate failure, programmers often neglect to check return values for error conditions. That negligence can cause undesirable effects, as ignored error conditions often cause more severe problems later in the program. Exceptions are implemented in such a way as to separate the error handling code from the rest of the code. Separating the error handling code from the normal logic makes programs easier to write and understand, since one block of error handling code can service errors from any number of function calls. Exception handling also makes the code more readable than implementations with error codes, since exception handling does not disrupt the flow of the code with frequent checks for error conditions.
See also
- errno.h, a header file in C that defines macros for reporting errors
- Abort (computing)
- Aspect-oriented programming
- Failure
- Static code analysis
External links
- Lists of Linux errno values, both numeric and symbolic
- Microsoft system error codes
- Microsoft Device Manager error codes