diff options
Diffstat (limited to 'c++/src/H5CompType.cpp')
-rw-r--r-- | c++/src/H5CompType.cpp | 78 |
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 |