Graceful exit

From Wikipedia, the free encyclopedia

A graceful exit is a simple programming idiom wherein a program detects a serious error condition and "exits gracefully" in a controlled manner as a result. Often the program prints a descriptive error message to a terminal or log as part of the graceful exit.

Usually, code for a graceful exit exists when the alternative — allowing the error to go undetected and unhandled — would produce spurious errors or later anomalous behavior that would be more difficult for the programmer to debug. The code associated with a graceful exit may also take additional steps, such as closing files, to ensure that the program leaves data in a consistent, recoverable state.

In a language that supports formal exception handling, a graceful exit may be the final step in the handling of an exception. In other languages graceful exits can be implemented with additional statements at the locations of possible errors.

[edit] In Perl

In the Perl programming language, graceful exits are generally implemented via the die operator. For example, the code for opening a file often reads like the following:

 # open the file 'myresults' for writing, or die with an appropriate error message
 open RESULTS, '>', 'myresults' or die "can't write to 'myresults' file: $!";

If the attempt to open the file myresults fails, the containing program will terminate with an error message and an exit status indicating abnormal termination.