Fail-Fast

Fail -Fast (Eng. " Rapid Cancel" literally composed of engl "fail" - in this case. " Error " and "almost " - here: "fast" ) refers to the ability of a system to detect errors early. A fail- fast system is designed so that its interfaces faults or conditions that lead to errors, detects and shows. Usually Fail - fast systems terminate in the event of an error or attempt to continue working with the error. Fail- fast checking systems are often not only the interfaces, but also the state of a system at various points in order to recognize errors at an early stage. The error handling is further delegated to the caller of the system - this can put in a safe condition, it is called fail-safe.

Example: A computer program recognizes prior to the execution of a division that the divisor is equal to zero and returns an error message, instead of performing a division by zero, which would have an undefined result.

Application of fail- fast systems

Fail - fast systems or modules are then preferred over conventional systems when the early detection, identification and eventual treatment of error conditions to a potentially faulty execution seems to make sense. This is especially the case when error conditions are obviously not so long until they lead to errors in other modules or systems lead to irreversible or costly damage.

When you create fault-tolerant systems with redundant components each component should be fail -fast to make the overall system time information available to compensate for the error.

Fail - fast systems support locating the causes of errors, because such systems faults timely and provide you with more accurate information. In fault-tolerant systems, errors can go undetected in systems that are not fault tolerant nor fail -fast, this can cause at later times apparently independent problems. It can be expensive, this caused the original error.

Examples

In software engineering a Fail Fast iterator is an iterator that will throw an error when the list over which it iterates, while the iteration is changed.

324216
de