Last modified: 24 August 2012
Name: H5Eset_auto1

Signature:
  herr_t `H5Eset_auto1`( H5E_auto1_t `func`, void *`client_data` )

Purpose:
  Turns automatic error printing on or off.

Description:
  `H5Eset_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.

  When the library is first initialized the auto printing function is set to `H5Eprint1` (cast appropriately) and `client_data` is the standard error stream pointer, `stderr`.

  Automatic stack traversal is always in the `H5E_WALK_DOWNWARD` direction.

Programming Note 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 `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.

Parameters:

H5E_auto1_t `func` | IN: Function to be called upon an error condition.
void *`client_data` | IN: Data passed to the error function.

Returns:
  Returns a non-negative value if successful; otherwise returns a negative value.

Fortran90 Interface: h5eset_auto_f
  See `H5Eset_auto`.

History:

  Release | C
  1.8.0 | Function `H5Eset_auto` renamed to `H5Eset_auto1` and deprecated in this release.