HDF5  1.12.0
Macros | Typedefs | Functions
H5Eprivate.h File Reference
#include "H5Epublic.h"
#include "H5private.h"

Go to the source code of this file.

Macros

#define HERROR(maj_id, min_id, ...)   H5E_printf_stack(NULL, __FILE__, FUNC, __LINE__, H5E_ERR_CLS_g, maj_id, min_id, __VA_ARGS__)
 
#define HCOMMON_ERROR(maj, min, ...)
 
#define HDONE_ERROR(maj, min, ret_val, ...)
 
#define HGOTO_ERROR(maj, min, ret_val, ...)
 
#define HGOTO_ERROR_TAG(maj, min, ret_val, ...)
 
#define HGOTO_DONE(ret_val)   {ret_value = ret_val; goto done;}
 
#define HGOTO_DONE_TAG(ret_val)
 
#define HSYS_DONE_ERROR(majorcode, minorcode, retcode, str)
 
#define HSYS_GOTO_ERROR(majorcode, minorcode, retcode, str)
 
#define H5E_PRINTF(...)   H5E_printf_stack(NULL, __FILE__, FUNC, __LINE__, H5E_ERR_CLS_g, H5_MY_PKG_ERR, __VA_ARGS__)
 
#define H5_LEAVE(v)
 
#define H5E_THROW(...)
 
#define CATCH   catch_except:; past_catch = TRUE;
 

Typedefs

typedef struct H5E_t H5E_t
 

Functions

H5_DLL herr_t H5E_init (void)
 
H5_DLL herr_t H5E_printf_stack (H5E_t *estack, const char *file, const char *func, unsigned line, hid_t cls_id, hid_t maj_id, hid_t min_id, const char *fmt,...) H5_ATTR_FORMAT(printf
 
H5_DLL herr_t H5_DLL herr_t H5E_clear_stack (H5E_t *estack)
 
H5_DLL herr_t H5E_dump_api_stack (hbool_t is_api)
 

Macro Definition Documentation

◆ CATCH

#define CATCH   catch_except:; past_catch = TRUE;

◆ H5_LEAVE

#define H5_LEAVE (   v)
Value:
{ \
ret_value = v; \
if(!past_catch) \
goto catch_except; \
}

◆ H5E_PRINTF

#define H5E_PRINTF (   ...)    H5E_printf_stack(NULL, __FILE__, FUNC, __LINE__, H5E_ERR_CLS_g, H5_MY_PKG_ERR, __VA_ARGS__)

◆ H5E_THROW

#define H5E_THROW (   ...)
Value:
{ \
H5E_PRINTF(__VA_ARGS__); \
H5_LEAVE(fail_value) \
}

◆ HCOMMON_ERROR

#define HCOMMON_ERROR (   maj,
  min,
  ... 
)
Value:
HERROR(maj, min, __VA_ARGS__); \
err_occurred = TRUE; \
err_occurred = err_occurred; /* Shut GCC warnings up! */

◆ HDONE_ERROR

#define HDONE_ERROR (   maj,
  min,
  ret_val,
  ... 
)
Value:
{ \
HCOMMON_ERROR(maj, min, __VA_ARGS__); \
ret_value = ret_val; \
}

◆ HERROR

#define HERROR (   maj_id,
  min_id,
  ... 
)    H5E_printf_stack(NULL, __FILE__, FUNC, __LINE__, H5E_ERR_CLS_g, maj_id, min_id, __VA_ARGS__)

◆ HGOTO_DONE

#define HGOTO_DONE (   ret_val)    {ret_value = ret_val; goto done;}

◆ HGOTO_DONE_TAG

#define HGOTO_DONE_TAG (   ret_val)
Value:
{ \
H5AC_tag(prv_tag, NULL); \
HGOTO_DONE(ret_val) \
}

◆ HGOTO_ERROR

#define HGOTO_ERROR (   maj,
  min,
  ret_val,
  ... 
)
Value:
{ \
HCOMMON_ERROR(maj, min, __VA_ARGS__); \
HGOTO_DONE(ret_val) \
}

◆ HGOTO_ERROR_TAG

#define HGOTO_ERROR_TAG (   maj,
  min,
  ret_val,
  ... 
)
Value:
{ \
H5AC_tag(prv_tag, NULL); \
HCOMMON_ERROR(maj, min, __VA_ARGS__); \
HGOTO_DONE(ret_val) \
}

◆ HSYS_DONE_ERROR

#define HSYS_DONE_ERROR (   majorcode,
  minorcode,
  retcode,
  str 
)
Value:
{ \
int myerrno = errno; \
HDONE_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno, HDstrerror(myerrno)); \
}

◆ HSYS_GOTO_ERROR

#define HSYS_GOTO_ERROR (   majorcode,
  minorcode,
  retcode,
  str 
)
Value:
{ \
int myerrno = errno; \
HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno, HDstrerror(myerrno)); \
}

Typedef Documentation

◆ H5E_t

typedef struct H5E_t H5E_t

Function Documentation

◆ H5E_clear_stack()

H5_DLL herr_t H5_DLL herr_t H5E_clear_stack ( H5E_t estack)

◆ H5E_dump_api_stack()

H5_DLL herr_t H5E_dump_api_stack ( hbool_t  is_api)

◆ H5E_init()

H5_DLL herr_t H5E_init ( void  )

◆ H5E_printf_stack()

H5_DLL herr_t H5E_printf_stack ( H5E_t estack,
const char *  file,
const char *  func,
unsigned  line,
hid_t  cls_id,
hid_t  maj_id,
hid_t  min_id,
const char *  fmt,
  ... 
)
HDstrerror
#define HDstrerror(N)
Definition: H5private.h:1378
HERROR
#define HERROR(maj_id, min_id,...)
Definition: H5Eprivate.h:33
TRUE
#define TRUE
Definition: H5FDmulti.c:36