ABSTRACT

Consider the lowly square root function. The square of a real number is always positive, so the square root of a negative number is undefined. Try calling the square root function with a negative argument, and the program will abort with an error message like

That's hardly a helpful error message in the best of circumstances. About all it tells you is that a floating-point error occurred somewhere. To the programmer, the message is, "back to the debugger." To the average end user, it means, "call the vendor."