IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 3, 2004, 10:39:50 AM (22 years ago)
Author:
desonia
Message:

Added Error Stack logic. The new psError is named psError2 until all other code can be converted over to the new style.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/sys/psError.h

    r1683 r1685  
    1212 *  @author Eric Van Alst, MHPCC
    1313 *
    14  *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2004-09-02 22:23:20 $
     14 *  @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2004-09-03 20:39:50 $
    1616 *
    1717 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2222
    2323#include<stdio.h>
     24#include<stdbool.h>
    2425
    2526#include "psErrorCodes.h"
     
    2930 */
    3031
     32/** Error message object */
    3133typedef struct
    3234{
    33     char *name;                        ///< category of code that caused the error
     35    char* name;                        ///< category of code that caused the error
    3436    psErrorCode code;                  ///< class of error
    35     char *msg;                         ///< the message associated with the error
     37    char* msg;                         ///< the message associated with the error
    3638}
    3739psErr;
    3840
    39 const psErr *psErrorGet(int which);
    40 const psErr *psErrorLast(void);
     41/** Get a error from the error stack
     42 *
     43 *  Previous errors on the stack are returned by psErrorGet (a value of 0
     44 *  passed to psErrorGet is equivalent to a call to psErrorLast).
     45 *
     46 *  if no error is at the which position, a non-NULL psErr is returned with
     47 *  code PS_ERR_NONE.
     48 *
     49 *  @return    Error message object at 'which'
     50 */
     51const psErr* psErrorGet(
     52    int which                          ///< position in the error stack. 0 is last error on stack.
     53);
     54
     55/** Get last error put on the error stack
     56 *
     57 *  The last error reported is available from psErrorLast; if no errors are
     58 *  current, a non-NULL psErr is returned with code PS_ERR_NONE.
     59 *
     60 *  @return psErr*     Reference to last error message on error stack
     61 */
     62const psErr* psErrorLast(void);
     63
     64/** Clears the error stack.
     65 *
     66 *  The error stack may be completely cleared with psErrorClear.
     67 *
     68 */
    4169void psErrorClear(void);
    4270
    43 void psErrorStackPrint(FILE *fd, const char *fmt, ...);
    44 void psErrorStackPrintV(FILE *fd, const char *fmt, va_list va);
     71/** Prints error stack to specified open file descriptor
     72 *
     73 *  The entire error stack may be printed to an open file descriptor by
     74 *  calling psErrorStackPrint; if and only if there are current errors, the
     75 *  printf-style string fmt is first printed to the file descriptor fd. In
     76 *  this printout, error codes are replaced by their string equivalents.
     77 *
     78 */
     79void psErrorStackPrint(
     80    FILE* fd,                          ///< destination file descriptor
     81    const char* fmt,                   ///< printf-style format of header line
     82    ...                                ///< any parameters required in fmt
     83);
     84
     85/** Prints error stack to specified open file descriptor
     86 *
     87 *  The entire error stack may be printed to an open file descriptor by
     88 *  calling psErrorStackPrintV; if and only if there are current errors, the
     89 *  vprintf-style string fmt is first printed to the file descriptor fd. In
     90 *  this printout, error codes are replaced by their string equivalents.
     91 *
     92 */
     93void psErrorStackPrintV(
     94    FILE* fd,                          ///< destination file descriptor
     95    const char* fmt,                   ///< printf-style format of header line
     96    va_list va                         ///< any parameters required in fmt
     97);
    4598
    4699/** Reports an error message to the logging facility
     
    57110);
    58111
     112/** Reports an error message to the logging facility
     113 *
     114 *  This function will invoke the psLogMsg function with a level of
     115 *  PS_LOG_ERROR and pass the parameters name and fmt to generate a proper
     116 *  log message.
     117 *
     118 */
     119void psErrorMsg(
     120    const char *name,                  ///< Name of error in the form aaa.bbb.ccc
     121    psErrorCode code,                  ///< Error class code
     122    bool new,                          ///< true if error originates at this location
     123    const char* fmt,                   ///< printf style formatting statement defining error message
     124    ...
     125);
     126
     127/** Create a new psErr struct
     128 *
     129 *  Creates a new psErr struct, making a copy of the parameters.
     130 *
     131 *  @return psErr*     new psErr object
     132 */
     133psErr* psErrAlloc(
     134    const char* name,                  ///< Name of error in the form aaa.bbb.ccc
     135    psErrorCode code,                  ///< Error class code
     136    const char* msg                    ///< Error message
     137);
     138
    59139/* @} */// End of SysUtils Functions
    60140
Note: See TracChangeset for help on using the changeset viewer.