summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2003-07-26 02:55:17 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2003-07-26 02:55:17 (GMT)
commitb4b2b55d33be1c4f1c33aaf58294281a93b7da39 (patch)
tree6b6afd57c425ef4003236bbc91115e689fe70f4e
parent4cc883a96035714268d25ef5bb6d4df86ad25f2c (diff)
downloadhdf5-b4b2b55d33be1c4f1c33aaf58294281a93b7da39.zip
hdf5-b4b2b55d33be1c4f1c33aaf58294281a93b7da39.tar.gz
hdf5-b4b2b55d33be1c4f1c33aaf58294281a93b7da39.tar.bz2
[svn-r7264] Purpose: Error API gradual checkin
Platforms tested: h5committested
-rw-r--r--c++/src/H5Exception.cpp24
-rw-r--r--c++/src/H5Exception.h6
2 files changed, 18 insertions, 12 deletions
diff --git a/c++/src/H5Exception.cpp b/c++/src/H5Exception.cpp
index 807d703..7d6218c 100644
--- a/c++/src/H5Exception.cpp
+++ b/c++/src/H5Exception.cpp
@@ -58,21 +58,25 @@ Exception::Exception( const Exception& orig )
// Returns the character string that describes an error specified by
// a major error number.
-string Exception::getMajorString( H5E_major_t major_num ) const
+string Exception::getMajorString( hid_t err_major ) const
{
// calls the C API routine to get the major string - Note: in the
// failure case, the string "Invalid major error number" will be returned.
- string major_str( H5Eget_major( major_num ));
+ char msg[H5E_LEN];
+ H5Eget_msg(err_major, NULL, msg, H5E_LEN);
+ string major_str(msg);
return( major_str );
}
// Returns the character string that describes an error specified by
// a minor error number.
-string Exception::getMinorString( H5E_minor_t minor_num ) const
+string Exception::getMinorString( hid_t err_minor ) const
{
// calls the C API routine to get the minor string - Note: in the
// failure case, the string "Invalid minor error number" will be returned.
- string minor_str( H5Eget_minor( minor_num ));
+ char msg[H5E_LEN];
+ H5Eget_msg(err_minor, NULL, msg, H5E_LEN);
+ string minor_str(msg);
return( minor_str );
}
@@ -81,7 +85,7 @@ void Exception::setAutoPrint( H5E_auto_t func, void* client_data )
{
// calls the C API routine H5Eset_auto to set the auto printing to
// the specified function.
- herr_t ret_value = H5Eset_auto( func, client_data );
+ herr_t ret_value = H5Eset_auto( H5E_DEFAULT, func, client_data );
if( ret_value < 0 )
throw Exception( "Exception::setAutoPrint", "H5Eset_auto failed" );
}
@@ -91,7 +95,7 @@ void Exception::dontPrint()
{
// calls the C API routine H5Eset_auto with NULL parameters to turn
// off the automatic error printing.
- herr_t ret_value = H5Eset_auto( NULL, NULL );
+ herr_t ret_value = H5Eset_auto( H5E_DEFAULT, NULL, NULL );
if( ret_value < 0 )
throw Exception( "Exception::dontPrint", "H5Eset_auto failed" );
}
@@ -102,7 +106,7 @@ void Exception::getAutoPrint( H5E_auto_t& func, void** client_data )
{
// calls the C API routine H5Eget_auto to get the current setting of
// the automatic error printing
- herr_t ret_value = H5Eget_auto( &func, client_data );
+ herr_t ret_value = H5Eget_auto( H5E_DEFAULT, &func, client_data );
if( ret_value < 0 )
throw Exception( "Exception::getAutoPrint", "H5Eget_auto failed" );
}
@@ -111,7 +115,7 @@ void Exception::getAutoPrint( H5E_auto_t& func, void** client_data )
void Exception::clearErrorStack()
{
// calls the C API routine H5Eclear to clear the error stack
- herr_t ret_value = H5Eclear();
+ herr_t ret_value = H5Eclear(H5E_DEFAULT);
if( ret_value < 0 )
throw Exception( "Exception::clearErrorStack", "H5Eclear failed" );
}
@@ -120,7 +124,7 @@ void Exception::clearErrorStack()
void Exception::walkErrorStack( H5E_direction_t direction, H5E_walk_t func, void* client_data )
{
// calls the C API routine H5Ewalk to walk the error stack
- herr_t ret_value = H5Ewalk( direction, func, client_data );
+ herr_t ret_value = H5Ewalk( H5E_DEFAULT, direction, func, client_data );
if( ret_value < 0 )
throw Exception( "Exception::walkErrorStack", "H5Ewalk failed" );
}
@@ -149,7 +153,7 @@ const char* Exception::getCFuncName() const
// Prints the error stack in a default manner.
void Exception::printError( FILE* stream ) const
{
- herr_t ret_value = H5Eprint( NULL ); // print to stderr
+ herr_t ret_value = H5Eprint( H5E_DEFAULT, NULL ); // print to stderr
if( ret_value < 0 )
throw Exception( "Exception::printError", "H5Eprint failed" );
}
diff --git a/c++/src/H5Exception.h b/c++/src/H5Exception.h
index 5f159e8..e7d75d8 100644
--- a/c++/src/H5Exception.h
+++ b/c++/src/H5Exception.h
@@ -40,11 +40,13 @@ class H5_DLLCPP Exception {
// Returns the character string that describes an error specified by
// a major error number.
- string getMajorString( H5E_major_t major_num ) const;
+ //string getMajorString( H5E_major_t major_num ) const;
+ string getMajorString( hid_t err_major_id ) const;
// Returns the character string that describes an error specified by
// a minor error number.
- string getMinorString( H5E_minor_t minor_num ) const;
+ //string getMinorString( H5E_minor_t minor_num ) const;
+ string getMinorString( hid_t err_minor_id ) const;
// Returns the detailed message set at the time the exception is thrown
string getDetailMsg() const;