H5E_SET_AUTO1 turns on or off automatic printing of errors. When turned on (non-null
func pointer), any API function which returns an error indication will first call
func, passing it
client_data as an argument.
func, a function compliant with the H5E_auto1_t prototype, is defined in the
H5Epublic.h source code file as:
typedef herr_t (*H5E_auto1_t)(void *client_data);
When the library is first initialized the auto printing function is set to H5E_PRINT1 (cast appropriately) and
client_data is the standard error stream pointer,
Automatic stack traversal is always in the
For C++ Developers using C Functions:
If a C routine that takes a function pointer as an argument is called from within C++ code, the C routine should be returned from normally.
Examples of this kind of routine include callbacks such as H5P_SET_ELINK_CB and H5P_SET_TYPE_CONV_CB and functions such as H5T_CONVERT and H5E_WALK2.
Exiting the routine in its normal fashion allows the HDF5 C library to clean up its work properly. In other words, if the C++ application jumps out of the routine back to the C++ “catch” statement, the library is not given the opportunity to close any temporary data structures that were set up when the routine was called. The C++ application should save some state as the routine is started so that any problem that occurs might be diagnosed.