During the execution of a program, events or conditions may occur which might be considered ``exceptional''. With commercial or numeric computing, such conditions can be catered for by an appropriate run-time error message followed by program termination. This is not acceptable with embedded systems, where the software should be tolerant of both hardware and software faults. Two broad classifications of exceptions can be isolated [BW98, section 1.4]:
In order to deal with error conditions, the run-time system must bring such errors to the program attention [BW98, section 1.4].