29.2 Changes in Terminology

In this section, we introduce changes to the terminology defined in section 1.2.4.

A condition is an interesting situation in a program that has been detected and announced. Later we allow this term also to refer to objects that programs use to represent such situations.

An error is a condition in which normal program execution may not continue without some form of intervention (either interactively by the user or under some sort of program control, as described below).

The process by which a condition is formally announced by a program is called signaling. The function signal is the primitive mechanism by which such announcement is done. Other abstractions, such as error and cerror, are built using signal.

The first edition is ambiguous about the reason why a particular program action “is an error.” There are two principal reasons why an action may be an error without being required to signal an error:

In this chapter, we use the following terminology. [Compare this to the terminology presented in section 28.1.1.—GLS]