Error Diagnostics
When an error occurs, several lines of messages are printed.
The error description, the operation being performed, and the
line and column of the source for that operation are printed.
The names of the operation's arguments are also printed.
Matrix names beginning with a pound sign (#)
or an asterisk (*) can appear; these are
temporary names assigned by the IML procedure.
If an error occurs while you are in immediate mode, the
operation is not completed and nothing is assigned to the result.
If an error occurs while executing statements inside
a module, a PAUSE command is automatically issued.
You can correct the error and resume execution
of module statements with a RESUME statement.
The most common errors are described in the following list:
- referencing a matrix that has not been set to
a value - that is, referencing a matrix that
has no value associated with the matrix name
- making a subscripting error - that is, trying to
refer to a row or column not present in the matrix
- performing an operation with nonconformable matrix
arguments - for example, multiplying two matrices
together that do not conform, or using a function
that requires a special scalar or vector argument
- referencing a matrix that is not square for operations that
require a square matrix (for example, INV, DET, or SOLVE)
- referencing a matrix that is not symmetric for operations
that require a symmetric matrix (for example, GENEIG)
- referencing a matrix that is singular for operations that
require a nonsingular matrix (for example, INV and SOLVE)
- referencing a matrix that is not positive definite
or positive semidefinite for operations that
require such matrices (for example, ROOT and SWEEP)
- not enough memory (see the section "Memory and Workspace") to perform the computations
and produce the resulting matrices.
These errors result from the actual dimensions
or values of matrices and are caught only
after a statement has begun to execute.
Other errors, such as incorrect number of arguments or
unbalanced parentheses, are syntax errors and resolution
errors and are detected before the statement is executed.
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.