Wrong type or range of arguments to a primitive
procedure
Some primitive procedures require a specific type of argument.
For example, the procedure that does addition requires that all
of its arguments be numbers, so (+ 3 *) results in the
error message "The object #[compiled-procedure ...], passed
as the second argument to integer-add, is not the correct type."
Numerical errors (overflow, underflow, divide by zero)
The numerical procedures can fail in a number of ways when
dealing with inexact numbers that are either very large, very
small, or very close to zero.
Other errors
A number of the procedures built into MIT Scheme can detect
special errors and report them. For example, "Unable to
open file ... because: no such file or directory."