Error handling in COOL is handled in an ADA-like fashion.  When an
error condition arises in a primitive or built-in function, the function
causes the exception to be "raised".  Essentially, it is similar to Unix's
signal-handling facilities.  If the method in question is "ignore"ing that
error condition, execution will continue, and the value of the expression
will be the error which was generated.  Otherwise, execution stops, and
a diagnostic message is sent to the user.

For example, consider the following method:

    method bogus
	var	a;
	var	b;

	a = 3 / 0;
	b = 1 + 1;

The / operator would raise E_DIV.  Since the method is not ignoring it,
the default handling applies and the method would stop, and a diagnostic
would be printed.

If the following statement was inserted after the var b declaration:
	ignore	E_DIV;

The variable 'a' would contain E_DIV, and execution would