Exception provides wrappers of HDF5 error handling functions.
More...
#include <H5Exception.h>
|
| Exception (const H5std_string &func_name, const H5std_string &message=DEFAULT_MSG) |
| Creates an exception with the name of the function, in which the failure occurs, and an optional detailed message. More...
|
|
H5std_string | getMajorString (hid_t err_major_id) const |
| Returns a text string that describes the error specified by a major error number. More...
|
|
H5std_string | getMinorString (hid_t err_minor_id) const |
| Returns a text string that describes the error specified by a minor error number. More...
|
|
H5std_string | getDetailMsg () const |
| Returns the detailed message set at the time the exception is thrown. More...
|
|
const char * | getCDetailMsg () const |
| Returns the detailed message set at the time the exception is thrown. More...
|
|
H5std_string | getFuncName () const |
| Returns the name of the function, where the exception is thrown. More...
|
|
const char * | getCFuncName () const |
| Returns the name of the function, where the exception is thrown. More...
|
|
| Exception () |
| Default constructor. More...
|
|
| Exception (const Exception &orig) |
| Copy constructor: same HDF5 object as original. More...
|
|
virtual | ~Exception () throw () |
| Noop destructor. More...
|
|
|
static void | setAutoPrint (H5E_auto2_t &func, void *client_data) |
| Turns on the automatic error printing. More...
|
|
static void | dontPrint () |
| Turns off the automatic error printing from the C library. More...
|
|
static void | getAutoPrint (H5E_auto2_t &func, void **client_data) |
| Retrieves the current settings for the automatic error stack traversal function and its data. More...
|
|
static void | clearErrorStack () |
| Clears the error stack for the current thread. More...
|
|
static void | walkErrorStack (H5E_direction_t direction, H5E_walk2_t func, void *client_data) |
| Walks the error stack for the current thread, calling the specified function. More...
|
|
static void | printErrorStack (FILE *stream=stderr, hid_t err_stack=H5E_DEFAULT) |
| Prints the error stack in a default manner. More...
|
|
|
static const char | DEFAULT_MSG [] = "No detailed information provided" |
|
Many classes are derived from Exception for specific HDF5 C interfaces.
◆ Exception() [1/3]
H5::Exception::Exception |
( |
const H5std_string & |
func, |
|
|
const H5std_string & |
message = DEFAULT_MSG |
|
) |
| |
- Parameters
-
func | - IN: Name of the function where failure occurs |
message | - IN: Message on the failure |
◆ Exception() [2/3]
H5::Exception::Exception |
( |
| ) |
|
◆ Exception() [3/3]
H5::Exception::Exception |
( |
const Exception & |
orig | ) |
|
◆ ~Exception()
H5::Exception::~Exception |
( |
| ) |
|
throw | ( | |
| ) | | |
|
virtual |
◆ clearErrorStack()
void H5::Exception::clearErrorStack |
( |
| ) |
|
|
static |
- Description
- The stack is also cleared whenever a C API function is called, with certain exceptions (for instance,
H5Eprint
).
References Exception().
◆ dontPrint()
void H5::Exception::dontPrint |
( |
| ) |
|
|
static |
◆ getAutoPrint()
void H5::Exception::getAutoPrint |
( |
H5E_auto2_t & |
func, |
|
|
void ** |
client_data |
|
) |
| |
|
static |
- Parameters
-
func | - OUT: Current setting for the function to be called upon an error condition |
client_data | - OUT: Current setting for the data passed to the error function |
References Exception().
◆ getCDetailMsg()
const char * H5::Exception::getCDetailMsg |
( |
| ) |
const |
- Returns
- Text message -
char
pointer
◆ getCFuncName()
const char * H5::Exception::getCFuncName |
( |
| ) |
const |
- Returns
- Text message -
char
pointer
◆ getDetailMsg()
H5std_string H5::Exception::getDetailMsg |
( |
| ) |
const |
- Returns
- Text message -
H5std_string
Referenced by H5::DataSpace::copy(), H5::DataType::copy(), H5::PropList::copy(), H5::AbstractDs::getArrayType(), H5::AbstractDs::getCompType(), H5::AbstractDs::getDataType(), H5::AbstractDs::getEnumType(), H5::H5Location::getFileName(), H5::AbstractDs::getFloatType(), H5::AbstractDs::getIntType(), H5::CompType::getMemberArrayType(), H5::CompType::getMemberCompType(), H5::CompType::getMemberDataType(), H5::CompType::getMemberEnumType(), H5::CompType::getMemberFloatType(), H5::CompType::getMemberIntType(), H5::CompType::getMemberStrType(), H5::CompType::getMemberVarLenType(), H5::H5Location::getObjType(), H5::H5Location::getRefObjType(), H5::H5Location::getRegion(), H5::AbstractDs::getStrType(), H5::AbstractDs::getTypeClass(), H5::AbstractDs::getVarLenType(), H5::H5File::openFile(), H5::ArrayType::operator=(), H5::IdComponent::operator=(), H5::H5Location::reference(), H5::H5File::reOpen(), H5::Attribute::~Attribute(), H5::DataSet::~DataSet(), H5::DataSpace::~DataSpace(), H5::DataType::~DataType(), H5::Group::~Group(), H5::H5File::~H5File(), and H5::PropList::~PropList().
◆ getFuncName()
H5std_string H5::Exception::getFuncName |
( |
| ) |
const |
- Returns
- Text message -
H5std_string
◆ getMajorString()
H5std_string H5::Exception::getMajorString |
( |
hid_t |
err_major | ) |
const |
- Parameters
-
err_major | - IN: Major error number |
- Returns
- Major error string
- Description
- In the failure case, the string "Invalid major error number" will be returned.
◆ getMinorString()
H5std_string H5::Exception::getMinorString |
( |
hid_t |
err_minor | ) |
const |
- Parameters
-
err_minor | - IN: Minor error number |
- Returns
- Minor error string
- Description
- In the failure case, the string "Invalid minor error number" will be returned.
◆ printErrorStack()
void H5::Exception::printErrorStack |
( |
FILE * |
stream = stderr , |
|
|
hid_t |
err_stack = H5E_DEFAULT |
|
) |
| |
|
static |
◆ setAutoPrint()
void H5::Exception::setAutoPrint |
( |
H5E_auto2_t & |
func, |
|
|
void * |
client_data |
|
) |
| |
|
static |
- Parameters
-
func | - IN: Function to be called upon an error condition |
client_data | - IN: Data passed to the error function |
- Description
- When the library is first initialized the auto printing function, func, is set to the C API
H5Eprint
and client_data is the standard error stream pointer, stderr
. Automatic stack traversal is always in the H5E_WALK_DOWNWARD
direction.
- Users are encouraged to write their own more specific error handlers
References Exception().
◆ walkErrorStack()
void H5::Exception::walkErrorStack |
( |
H5E_direction_t |
direction, |
|
|
H5E_walk2_t |
func, |
|
|
void * |
client_data |
|
) |
| |
|
static |
- Parameters
-
direction | - IN: Direction in which the error stack is to be walked |
func | - IN: Function to be called for each error encountered |
client_data | - IN: Data passed to the error function |
- Description
- Valid values for direction include:
H5E_WALK_UPWARD
- begin with the most specific error and end at the API
H5E_WALK_DOWNWARD
- begin at the API and end at the inner-most function where the error was first detected
- The function specified by func will be called for each error in the error stack. The
H5E_walk_t
prototype is as follows: typedef herr_t (*H5E_walk_t)(int n, H5E_error_t *err_desc, void *client_data)
int n - Indexed position of the error in the stack; it begins at zero
regardless of stack traversal direction
H5E_error_t *err_desc - Pointer to a data structure describing the
error. This structure is listed below.
void *client_data - Pointer to client data in the format expected by
the user-defined function.
- Data structure to describe the error:
typedef struct H5E_error2_t {
hid_t cls_id;
hid_t maj_num;
hid_t min_num;
const char *func_name;
const char *file_name;
unsigned line;
const char *desc;
} H5E_error2_t;
References Exception().
◆ DEFAULT_MSG
const char H5::Exception::DEFAULT_MSG = "No detailed information provided" |
|
staticprotected |
The documentation for this class was generated from the following files: