 In many cases, an outright crash can give the software developer the opportunity to attach a debugger or collect important information, such as a core dump or stack trace, to diagnose the root cause of the error.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.