summaryrefslogtreecommitdiffstats
path: root/c++/src/H5CompType.cpp
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2005-08-08 03:53:58 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2005-08-08 03:53:58 (GMT)
commit07592ad7c32fe5ed0b947a7a6a4ee3aef58173ab (patch)
treea9439aefae26c6a9897e1190095079e32e891fb5 /c++/src/H5CompType.cpp
parente49bb1feeaa3e2c18a2bd38ff5a5ef3142b5f9b1 (diff)
downloadhdf5-07592ad7c32fe5ed0b947a7a6a4ee3aef58173ab.zip
hdf5-07592ad7c32fe5ed0b947a7a6a4ee3aef58173ab.tar.gz
hdf5-07592ad7c32fe5ed0b947a7a6a4ee3aef58173ab.tar.bz2
[svn-r11206] Purpose: Additional wrapper/Code improvement
Description: Added wrapper for H5Iget_type. Added try/catch to many APIs that call private functions so that more specific information can be provided at failure. Added IdComponent::inMemFunc to help providing specific info. Added const to parameters of several functions that missed that. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) AIX 5.1 (copper) IRIX64 with -n32 (modi4) HPUX 11.00 (kelgia)
Diffstat (limited to 'c++/src/H5CompType.cpp')
-rw-r--r--c++/src/H5CompType.cpp78
1 files changed, 59 insertions, 19 deletions
diff --git a/c++/src/H5CompType.cpp b/c++/src/H5CompType.cpp
index 2007891..aed4b58 100644
--- a/c++/src/H5CompType.cpp
+++ b/c++/src/H5CompType.cpp
@@ -216,9 +216,9 @@ hid_t CompType::p_get_member_type(unsigned member_num) const
return( member_type_id );
else
{
- // p_get_member_type is private, use caller's function name for api
- throw DataTypeIException("CompType::getMemberDataType",
- "H5Tget_member_type failed");
+ // p_get_member_type is private, caller will catch this exception
+ // then throw another with appropriate API name
+ throw DataTypeIException("", "H5Tget_member_type failed");
}
}
@@ -233,8 +233,13 @@ hid_t CompType::p_get_member_type(unsigned member_num) const
//--------------------------------------------------------------------------
DataType CompType::getMemberDataType( unsigned member_num ) const
{
- DataType datatype(p_get_member_type(member_num));
- return(datatype);
+ try {
+ DataType datatype(p_get_member_type(member_num));
+ return(datatype);
+ }
+ catch (DataTypeIException E) {
+ throw DataTypeIException("CompType::getMemberDataType", E.getDetailMsg());
+ }
}
//--------------------------------------------------------------------------
@@ -248,8 +253,13 @@ DataType CompType::getMemberDataType( unsigned member_num ) const
//--------------------------------------------------------------------------
ArrayType CompType::getMemberArrayType( unsigned member_num ) const
{
- ArrayType arraytype(p_get_member_type(member_num));
- return(arraytype);
+ try {
+ ArrayType arraytype(p_get_member_type(member_num));
+ return(arraytype);
+ }
+ catch (DataTypeIException E) {
+ throw DataTypeIException("CompType::getMemberArrayType", E.getDetailMsg());
+ }
}
//--------------------------------------------------------------------------
@@ -263,8 +273,13 @@ ArrayType CompType::getMemberArrayType( unsigned member_num ) const
//--------------------------------------------------------------------------
EnumType CompType::getMemberEnumType( unsigned member_num ) const
{
- EnumType enumtype(p_get_member_type(member_num));
- return(enumtype);
+ try {
+ EnumType enumtype(p_get_member_type(member_num));
+ return(enumtype);
+ }
+ catch (DataTypeIException E) {
+ throw DataTypeIException("CompType::getMemberEnumType", E.getDetailMsg());
+ }
}
//--------------------------------------------------------------------------
@@ -278,8 +293,13 @@ EnumType CompType::getMemberEnumType( unsigned member_num ) const
//--------------------------------------------------------------------------
CompType CompType::getMemberCompType( unsigned member_num ) const
{
- CompType comptype(p_get_member_type(member_num));
- return(comptype);
+ try {
+ CompType comptype(p_get_member_type(member_num));
+ return(comptype);
+ }
+ catch (DataTypeIException E) {
+ throw DataTypeIException("CompType::getMemberCompType", E.getDetailMsg());
+ }
}
//--------------------------------------------------------------------------
@@ -293,8 +313,13 @@ CompType CompType::getMemberCompType( unsigned member_num ) const
//--------------------------------------------------------------------------
IntType CompType::getMemberIntType( unsigned member_num ) const
{
- IntType inttype(p_get_member_type(member_num));
- return(inttype);
+ try {
+ IntType inttype(p_get_member_type(member_num));
+ return(inttype);
+ }
+ catch (DataTypeIException E) {
+ throw DataTypeIException("CompType::getMemberIntType", E.getDetailMsg());
+ }
}
//--------------------------------------------------------------------------
@@ -308,8 +333,13 @@ IntType CompType::getMemberIntType( unsigned member_num ) const
//--------------------------------------------------------------------------
FloatType CompType::getMemberFloatType( unsigned member_num ) const
{
- FloatType floatype(p_get_member_type(member_num));
- return(floatype);
+ try {
+ FloatType floatype(p_get_member_type(member_num));
+ return(floatype);
+ }
+ catch (DataTypeIException E) {
+ throw DataTypeIException("CompType::getMemberFloatType", E.getDetailMsg());
+ }
}
//--------------------------------------------------------------------------
@@ -323,8 +353,13 @@ FloatType CompType::getMemberFloatType( unsigned member_num ) const
//--------------------------------------------------------------------------
StrType CompType::getMemberStrType( unsigned member_num ) const
{
- StrType strtype(p_get_member_type(member_num));
- return(strtype);
+ try {
+ StrType strtype(p_get_member_type(member_num));
+ return(strtype);
+ }
+ catch (DataTypeIException E) {
+ throw DataTypeIException("CompType::getMemberStrType", E.getDetailMsg());
+ }
}
//--------------------------------------------------------------------------
@@ -338,8 +373,13 @@ StrType CompType::getMemberStrType( unsigned member_num ) const
//--------------------------------------------------------------------------
VarLenType CompType::getMemberVarLenType( unsigned member_num ) const
{
- VarLenType varlentype(p_get_member_type(member_num));
- return(varlentype);
+ try {
+ VarLenType varlentype(p_get_member_type(member_num));
+ return(varlentype);
+ }
+ catch (DataTypeIException E) {
+ throw DataTypeIException("CompType::getMemberVarLenType", E.getDetailMsg());
+ }
}
/* old style of getMemberType - using overloads; new style above