The employment, in a computer system or in a communication system, of error-detecting and/or error-correcting codes with the intention of removing the effects of error and/or recording the prevalence of error in the system. The effects of errors may be removed by correcting them in all but a negligible proportion of cases. Error control aims to cope with errors owing to noise or to equipment malfunction — in which case it overlaps with fault tolerance (See fault-tolerant system) — but not usually with the effects of errors in the design of hardware or software. An important aspect is the prevention of mistakes by users. Checking of data by software as it is entered is an essential feature of the design of reliable application programs.
Error control is expensive: the balance between the cost and the benefit (measured by the degree of protection) has to be weighed within the technological and financial context of the system being designed. See also error recovery.