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. |