"Abort, Retry, Fail?" is a computer error message found in the DOS operating systems, which prompts the end-user for a course of action to follow. The message has been used as an example of poor usability design in computer user interfaces.
A primary design consideration for the DOS family of operating systems (such as MS-DOS, PC DOS and DR-DOS) was that software written for CP/M be portable to DOS without changes. In most CP/M systems, attempting to read a floppy disk drive with the door open hung, waiting for a signal from the disk until the disk drive door was closed. On some hardware, it would hang until an actual physical disk was in the drive. Many users of CP/M were accustomed to this as a method of managing multiple disks, by opening the disk drive to stop the reading operation, until the correct disk could be inserted. Even the first IBM PC had more advanced hardware, such that the central processing unit (CPU) could tell that the disk drive door was open, but returning an error would break software that assumed that opening a file would wait until the user had inserted the correct disk.
Still, it was desirable to improve the experience if possible, in particular, by giving the user a way to get out of the hang without having to find a disk to insert in the drive. For this reason, the prompt was invented in DOS.
A missing disk (or disk drive door opened) was defined by DOS as a critical error and would call the critical error handler. The default critical error handler was part of COMMAND.COM. It printed the "Abort, Retry, ..." prompt and waited for user input. Other problems (in particular, a checksum error while reading data from a disk) were also defined as a "critical error", thus causing the prompt to appear for reasons other than a missing disk or opened disk drives. Users responded to these prompts by pressing a keyboard key corresponding to action they would rather take. Available options included: