H5Eset_auto2(
hid_t estack_id,
H5E_auto2_t func,
void *client_data
)
H5Eset_auto2 turns on or off automatic printing of
errors for the error stack specified with estack_id.
An estack_id value of H5E_DEFAULT
indicates the current stack.
When automatic printing is turned on,
by the use of a non-null func pointer,
any API function which returns an error indication will
first call func, passing it client_data
as an argument.
When the library is first initialized, the auto printing function
is set to H5Eprint2 (cast appropriately) and
client_data is the standard error stream pointer,
stderr.
Automatic stack traversal is always in the
H5E_WALK_DOWNWARD direction.
Automatic error printing is turned off with a
H5Eset_auto2 call with a NULL
func pointer.
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
H5Pset_elink_cb and H5Pset_type_conv_cb
and functions such as H5Tconvert and
H5Ewalk2.
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.
hid_t estack_id |
IN: Error stack identifier. |
H5E_auto2_t func |
IN: Function to be called upon an error condition. |
void *client_data |
IN: Data passed to the error function. |
H5Eset_auto.
| Release | C |
| 1.8.0 | Function introduced in this release. |