My Project 1.10.10
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Protected Attributes | List of all members
H5::Exception Class Reference

Exception provides wrappers of HDF5 error handling functions. More...

#include <H5Exception.h>

Inheritance diagram for H5::Exception:
H5::AttributeIException H5::DataSetIException H5::DataSpaceIException H5::DataTypeIException H5::FileIException H5::GroupIException H5::IdComponentException H5::LibraryIException H5::LocationException H5::ObjHeaderIException H5::PropListIException H5::ReferenceException

Public Member Functions

 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.
 
H5std_string getMajorString (hid_t err_major_id) const
 Returns a text string that describes the error specified by a major error number.
 
H5std_string getMinorString (hid_t err_minor_id) const
 Returns a text string that describes the error specified by a minor error number.
 
H5std_string getDetailMsg () const
 Returns the detailed message set at the time the exception is thrown.
 
const char * getCDetailMsg () const
 Returns the detailed message set at the time the exception is thrown.
 
H5std_string getFuncName () const
 Returns the name of the function, where the exception is thrown.
 
const char * getCFuncName () const
 Returns the name of the function, where the exception is thrown.
 
 Exception ()
 Default constructor.
 
 Exception (const Exception &orig)
 Copy constructor: same HDF5 object as original.
 
virtual ~Exception () throw ()
 Noop destructor.
 

Static Public Member Functions

static void setAutoPrint (H5E_auto2_t &func, void *client_data)
 Turns on the automatic error printing.
 
static void dontPrint ()
 Turns off the automatic error printing from the C library.
 
static void getAutoPrint (H5E_auto2_t &func, void **client_data)
 Retrieves the current settings for the automatic error stack traversal function and its data.
 
static void clearErrorStack ()
 Clears the error stack for the current thread.
 
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.
 
static void printErrorStack (FILE *stream=stderr, hid_t err_stack=H5E_DEFAULT)
 Prints the error stack in a default manner.
 

Static Protected Attributes

static const char DEFAULT_MSG [] = "No detailed information provided"
 

Detailed Description

Many classes are derived from Exception for specific HDF5 C interfaces.

Constructor & Destructor Documentation

◆ 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)
Parameters
orig- IN: Exception instance to copy

◆ ~Exception()

H5::Exception::~Exception ( )
throw (
)
virtual

Member Function Documentation

◆ 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

References Exception().

◆ 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

◆ 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
Parameters
stream- IN: File pointer, default to stderr
err_stack- IN: Error stack ID, default to H5E_DEFAULT(0)
Examples
chunks.cpp, compound.cpp, create.cpp, extend_ds.cpp, h5group.cpp, readdata.cpp, and writedata.cpp.

References Exception().

◆ 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; //class ID
hid_t maj_num; //major error ID
hid_t min_num; //minor error number
const char *func_name; //function in which error occurred
const char *file_name; //file in which error occurred
unsigned line; //line in file where error occurs
const char *desc; //optional supplied description
} H5E_error2_t;

References Exception().

Member Data Documentation

◆ DEFAULT_MSG

const char H5::Exception::DEFAULT_MSG = "No detailed information provided"
staticprotected

The documentation for this class was generated from the following files:


The HDF Group Help Desk:
  Copyright by The HDF Group