          errorCode
               After  an error has occurred, this variable will be set
               to hold additional information about  the  error  in  a
               form  that is easy to process with programs.  errorCode
               consists of a Tcl list with one or more elements.   The
               first element of the list identifies a general class of
               errors, and determines the format of the  rest  of  the
               list.   The following formats for errorCode are used by
               the  Tcl  core;  individual  applications  may   define
               additional formats.

               CHILDKILLED pid sigName msg
                    This  format is used when a child process has been
                    killed because of a signal.  The second element of
                    errorCode  will  be  the  process's identifier (in
                    decimal).  The third element will be the  symbolic
                    name  of  the  signal  that  caused the process to
                    terminate; it will be one of the  names  from  the
                    include  file  signal.h,  such  as  SIGPIPE.   The
                    fourth element  will  be  a  short  human-readable
                    message  describing the signal, such as ``write on
                    pipe with no readers'' for SIGPIPE.

               CHILDSTATUS pid code
                    This  format  is  used  when  a  child process has
                    exited with a non-zero exit  status.   The  second
                    element   of   errorCode  will  be  the  process's
                    identifier (in decimal) and the third element will
                    be  the exit code returned by the process (also in
                    decimal).

               CHILDSUSP pid code
                    This  format is used when a child process has been
                    suspended because of a signal.  The second element
                    of  errorCode will be the process's identifier, in
                    decimal.  The third element will be  the  symbolic
                    name  of  the  signal  that  caused the process to
                    suspend; this will be one of the  names  from  the
                    include  file  signal.h,  such  as  SIGTTIN.   The
                    fourth element  will  be  a  short  human-readable
                    message    describing    the   signal,   such   as
                    ``background tty read'' for SIGTTIN.

               NONE
                    This format is used for errors where no additional
                    information is available for an error besides  the
                    message  returned  with the error.  In these cases
                    errorCode will consist  of  a  list  containing  a
                    single element whose contents are NONE.

               UNIX errName msg
                    If  the  first  element of errorCode is UNIX, then
                    the error occurred during a UNIX kernel call.  The
                    second  element  of  the  list  will  contain  the
                    symbolic name of the error that occurred, such  as
                    ENOENT;  this will be one of the values defined in
                    the include file errno.h.  The  third  element  of
                    the   list   will   be  a  human-readable  message
                    corresponding to errName, such as ``no  such  file
                    or directory'' for the ENOENT case.

               To  set  errorCode,  applications  should  use  library
               procedures  such as Tcl_SetErrorCode and Tcl_UnixError,
               or they may invoke the error command.  If one of  these
               methods hasn't been used, then the Tcl interpreter will
               reset the variable to NONE after the next error.
