errors.h: (Matching .c file)


/* errors.h  Routines to aid error handling.
 * © Copyright 1999 by John Halleck
 * All rights reserved
 */
/* Version of August 23rd, 1999 */

#ifndef ERRORS
#define ERRORS 1

typedef int error; /* A type so that we can pretend C is strongly typed. */

/* Possible errors: */
#define NoError    0
  /* "Everything worked"   Most routines know that this is zero,
   * don't change it to another number.
   */

#define ERRfalse           1
        /* Condition was false */

#define ERRnotfound        2
        /* Not found */

#define ERRnil             3
        /* Nil pointer passed to routine */

#define ERRsame            4
        /* Arrays not distinct arrays
         * Some routines need distinct arrays to avoid problems overwriting
         * needed input with output.
         */
           
#define ERRsize            5
        /* Zero or negative sized array */

#define ERRrange           6
        /* index not in range
         * Array out of bounds, access outsize of the items of  
         * a list, etc.
         */

#define ERRnumeric         7
        /* numeric error
         * Result not meaningful (divide by zero) or not significant (Some
         * statistical operations)
         */

#define ERRconform          8
        /* Arguments don't conform
         * (In the sense that a matrix multiply needs conforming arrays.)
         */

#define ERRnomem            9
        /* Out of memory */

#define ERRnodisk          10
        /* Out of disk space */

#define ERRsysIO           11
        /* System error being passed back. */

#define ERRnotimplemented  12
       /* Code still being written */

#define ERRmeaning         13
       /* Meaningless operation.
        * For example, scaling a collection of values by zero
        */

#define ERRvalue           14
       /* Value out of range. */

#define ERRuninitialized   15
       /* Use of uninitialize value or package */

#define ERRreinitialized   16
       /* Attempt to initialize twice without finalize first */

#define ERRbaddata         17
       /* Data not acceptable */

#define ERRempty           18
       /* Data not provided   */

#define ERRnesting         19
       /* Calls badly nested */

#define ERRendoffile       20
       /* End of file        */

#define ERRoverflow        21
       /* More data than space available */

#define ERRcorrupt         22
       /* Impossible error, internals of program corrupt? */

#define ERRendofline       23
       /* Hit end of line while expecting more. */

#define maxERR             23 
       /* The highest error number in use. */


/* --------------------- History Support ------------------------------------ */

error lasterror; /* Last error code registered */
char *lastfile;  /* File it was in */
int   lastline;  /* Line of the file */

/* ---------------------  Support routines ---------------------------------- */

/* Note where an error occurred */
#ifdef __FILE__
#define noteerror(Error,Text) seterror (Error, __FILE__, __LINE__, Text)
#else
#define noteerror(Error,Text) seterror (Error, 0, 0, Text)
#endif

extern error seterror (error Which, char *whichfile, int line, char *message);
   /* This routine just returns the error code given, so
    * that one can write, for example,
    *  return noteerror(ERRwhatever);
    */

/* Output text of last error, if any.  (No print if NoError)  */
extern error dumperror();

/* Clear an error status */
extern error clearerror();

/* ---------------------- Raw print of error -------------------------------- */

/* Given a return status, print the error. */
extern error printerror  (error whichone); /* To standard out */
/* Returns zero if it is a known error. */

/* Exit the program, reporting on an error */
extern error aborterror (error whichone, char *text);

#endif

Go to ...


This page is http://www.cc.utah.edu/~nahaj/cave/survey/code/c/errors.h.html
© Copyright 2000 by John Halleck, All Rights Reserved.
This snapshot was last modified on August 23rd, 2000
And the underlying file was last modified on May 11th, 2000