summaryrefslogtreecommitdiffstats
path: root/c++/src/H5Exception.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fixed documentationBinh-Minh Ribler2018-03-131-1/+1
| | | | | | | | Description: - Updated the description of copy constructor for clarification. - Removed unnecessary comments. Platforms tested: Linux/64 (jelly)
* New overloaded functions and testsBinh-Minh Ribler2017-09-121-4/+5
| | | | | | | | | | | | | | | Description: - Added VarLenType::VarLenType(const DataType& base_type) - Marked VarLenType::VarLenType(const DataType* base_type) deprecated - Added a static wrapper for H5Tdetect_class for PredType static bool DataType::detectClass(const PredType& pred_type, ...) - Removed the deprecated function Exception::printError() from code - Miscellaneous improvements in comments - Added test functions test_detect_type_class() and test_vltype() Platforms tested: Linux/32 2.6 (jam) Linux/64 (jelly) Darwin (osx1010test)
* Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to ↵Larry Knox2017-04-251-6/+4
| | | | | | | | | | hdf5_1_10 * commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
* Description:Binh-Minh Ribler2017-03-031-325/+325
| | | | | | Only format changes: mostly tabs vs. spaces Platforms tested: Linux/64 (jelly) - very minor
* Purpose: Add new wrappersBinh-Minh Ribler2016-12-281-2/+1
| | | | | | | | | | | | | | Description: Added wrappers H5Location::exists() for H5Lexists. Added wrapper H5Object::objVersion() to return the header version of an HDF5 object. Added new class LinkAccPropList to be used by H5Location::exists() Added new exception: ObjHeaderIException for H5Object::objVersion() Rearranged source files in Makefile.am Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Purpose: Improvement for HDFFV-10004Binh-Minh Ribler2016-12-191-0/+24
| | | | | | | | | | | | | | | | | | | | | Description: When adding wrappers for H5Lexists, a new class, LinkAccPropList, was added to the C++ API, triggered complicated circular dependencies. Thus, some improvement was made to resolve the problems. - Replaced existing functions openXxxType with individual type constructors + Added individual XxxType constructors to replace the existing functions openXxxType because it's rather awkward to use these functions. + Moved openXxxType from H5Location back to CommonFG + Put back CommonFG as a baseclass of Group for openXxxType functions. + This replacement should improve usability and prevent the problem of circular dependencies. - Removed overloaded constructor that takes an Attribute when there is already one that takes H5Location because Attribute inherits from H5Location now. Platforms tested: Linux/32 2.6 (jam) Darwin (osx1010test) Linux/64 (platypus)
* Description:Binh-Minh Ribler2016-10-191-4/+1
| | | | | | | | | | | | Removed obsolet macros from C++ API: H5_NO_NAMESPACE, H5_NO_STD, __cplusplus Leave OLD_HEADER_FILENAME because iostream.h might still be in use, until further checking is done. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test) Jelly
* [svn-r29759] Purpose: Code improvementsBinh-Minh Ribler2016-04-221-4/+5
| | | | | | | | | | | | Description: - Changed object in catch statements to reference - Replaced old-style casts or reinterpret_cast with static_cast - Removed unused name H5Library::need_cleanup - Removed Exception::printError from documentation Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r29306] Purpose: Add functionBinh-Minh Ribler2016-03-071-5/+1
| | | | | | | | | | Description: Added member function ArrayType::operator= because ArrayType has pointer data members. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r28027] Purpose: Fix memory leaksBinh-Minh Ribler2015-10-111-3/+3
| | | | | | | | | | | | | Description: - Removed H5Library::instance because it is unnecessary. All H5Library's methods are static. This, in turn, removed the memory leaks by H5Library::instance not being deleted. - Added ObjCreatPropList::deleteConstants to atexist() list - Cleaned up comments and format inconsistencies with 1.8 Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* [svn-r26455] Purpose: Fix warnings HDFFV-8658Binh-Minh Ribler2015-03-151-24/+24
| | | | | | | | | | Description: Parameter had the same name as the class' member's. Replaced parameter with a different name. Platforms tested: Linux/64 (platypus) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r25644] Purpose: Fixed HDFFV-8928Binh-Minh Ribler2014-10-011-0/+6
| | | | | | | | | | Description: Followed hints on the JIRA issue to remove several potential memory leaks. Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r25108] Description:Binh-Minh Ribler2014-04-251-5/+22
| | | | | | | | | | - Put back Exception::printError for backward compatibility - Added static member function Exception::printErrorStack to print error stack without an instance of Exception. Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r25061] Description:Binh-Minh Ribler2014-04-171-2/+2
| | | | | | | | | | | Put back overloaded functions for backward compatibility: - were replaced by better prototyped versions, such as Attribute::getName. - were modified to add const to constant arguments. Added notes for future removal in documentation. Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
* [svn-r24865] Description:Binh-Minh Ribler2014-03-211-0/+23
| | | | | | | | | | | - Added another overload for char* argument: ssize_t getComment(const char* name, const size_t buf_size, char* comment) - Changed default value to 0 for the other two getComment methods - Added HDmemset to after every char string allocation to clear the buffer Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) Linux/64 2.6 (platypus)/PGI compilers
* [svn-r24830] Purpose: HDFFV-8623Binh-Minh Ribler2014-03-181-11/+11
| | | | | | | | | | | | Description: Applied patch from user Jason Newton. JIRA issue HDFFV-8623, patch 9, improve c++ compatibility with exceptions. All additions of "throw()" are included. Exception::what() is not added because it is not necessary. It was suggested for the name, which follows stdlib. Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) Linux/64 2.6 (koala)/PGI compilers
* [svn-r24197] revert a changed committed by mistake, printf statementBinh-Minh Ribler2013-09-251-3/+1
|
* [svn-r24195] Description:Binh-Minh Ribler2013-09-241-1/+3
| | | | | | | | - Improved format/comments in tutorial examples - Added them to Makefile.* and run-c++-ex.sh.in Platforms tested: Linux/32 2.6 (jam) Linux/64 2.6 (koala)/PGI compilers
* [svn-r19923] BZ 1165: Implemented declaration change;Allen Byrne2011-01-061-3/+3
| | | | | | | | | | | | A static std::basic_string constructed in the Exception class. This static isn't one that can be be destructed by H5Library::close(), but rather gets cleaned up as part of the STL std::basic_string static destructor when the HDF5 DLL is detached (WINDOWS). Looking at the rest of the Exception code, the DEFAULT_MSG doesn't really need to be a std::basic_string. Remove the static constructor and no destructor required. Tested: local linux - will wait for Nightly Dailies before bringing to 1.8
* [svn-r13648] Description:Quincey Koziol2007-04-121-11/+11
| | | | | | | | | | Rename new error handling API routines from H5E<foo>_stack() to H5E<foo>2(). Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty)
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r12404] Purpose: Fix typos/formatsBinh-Minh Ribler2006-06-051-11/+11
| | | | | | | | | | Description: Fixed typos and re-arranged some functions to be in sync with 1.6. Platforms tested: Linux 2.4 (heping) SunOS 5.9 (shanti) AIX 5.1 (copper)
* [svn-r12345] Purpose: Codes for backward compatibility.Raymond Lu2006-05-121-3/+3
| | | | | | | | | | Description: Function prototype H5E_walk_t and structure H5E_error_t wasn't backward compatible. Solution: Make them compatible with v1.6 and provide new definitions of H5E_walk_stack_t and H5E_error_stack_t. Platforms tested: fuss and h5committest.
* [svn-r12200] Purpose: MaintenanceBinh-Minh Ribler2006-04-051-18/+18
| | | | | | | | | | | | Description: Changed to alias string instead of std, i.e. H5std_string instead of H5std, because the old way wasn't working when std didn't exist. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) HPUX 11.00 (kelgia) - this was the problematic platform but I wasn't able to test before.
* [svn-r12185] Purpose: Code cleanupBinh-Minh Ribler2006-03-311-2/+0
| | | | | | | | Description: Removed an empty #ifdef block that was left by mistake. Platforms tested: Linux 2.4 (heping) - very minor
* [svn-r12180] Purpose: MaintenanceBinh-Minh Ribler2006-03-301-21/+18
| | | | | | | | | | | Description: Added alias H5_std so either the global or std namespace can be used, depending on H5_NO_STD. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) AIX 5.1 (copper)
* [svn-r11755] Purpose: Code improvementBinh-Minh Ribler2005-12-031-3/+7
| | | | | | | | | | | | | | | | | Description: There was a workaround for predefined types, in the C++ library, implemented when the C++ library was handling the reference counting of the object ids on its own. Currently, the C++ library is using the available APIs from the C library for that purpose, and there were bugs reported involving that part of the C++ library. So, I decided to remove the workaround completely. Also, improved the use of std members. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) Linux 2.4 w/PGI (colonelk)
* [svn-r11619] Purpose:Quincey Koziol2005-10-291-1/+1
| | | | | | | | | | | Update copyrights. Description: Solution: This should address almost all of the "simple" cases in the repository. There's still work to do, but it's going to require actually thinking about the files in question instead of just copying & pasting.
* [svn-r11596] Purpose:Quincey Koziol2005-10-221-1/+1
| | | | | | | | | | | Update copyrights Description: Updated copyright information in hdf5/bin and top-level and added some more files to be skipped to the chkcopyright config file. Platforms tested: None - just eyeballed
* [svn-r11487] Purpose:Quincey Koziol2005-10-011-12/+12
| | | | | | | | | | | Code cleanup Description: Tweak copyright on C++ source files to reduce whining by copyright checking script. Platforms tested: FreeBSD 4.11 (sleipnir) w/C++
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-19/+19
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11060] Purpose: Fix bug (reported by user)Binh-Minh Ribler2005-07-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: The use of FileCreatPropList::DEFAULT sometimes caused failure in the reference counting area. This occurs to all the default property lists, which also include FileAccPropList::DEFAULT, DSetCreatPropList::DEFAULT, and DSetMemXferPropList::DEFAULT. H5P_DEFAULT was used to create these default prop lists and because its value is 0, the id of these prop lists are 0, which is rejected by the H5I functions during the reference counting. Solution: The main action to fix the above problem was to use H5P_FILE_CREATE H5P_FILE_ACCESS H5P_DATASET_CREATE H5P_DATASET_XFER to define the default property lists accordingly. Yet, when this fix was applied, some bug in reference counting was revealed. It appeared that some ids were not incremented but were passed in for decrementing. The following actions were then taken to fix and improve the current use of reference counting H5I functions. * added private func IdComponent::p_valid_id to verify that the id is a valid id and can be passed into an H5I function * used p_valid_id to validate an id before calling an H5I functions in the reference-counting member functions incRefCount, decRefCount, and getCounter * changed to use member function incRefCount, decRefCount, and getCounter instead of the C APIs H5Iinc_ref, H5Idec_ref, and H5Iget_ref throughout IdComponent. In addition, overloadings were added for incRefCount, decRefCount, and getCounter to take an id different than the id of the current instance; they can be convenient during debugging. Platforms tested: Linux 2.4 (heping) SunOS 5.8 64-bit (sol) AIX 5.1 (copper)
* [svn-r9838] Purpose:Quincey Koziol2005-01-191-8/+40
| | | | | | | | | | | | | | | | | | Bug fix Description: Correctly retire the H5E_LEN setting, now that the FORTRAN and C++ APIs have been corrected to not use it either. Solution: Pass in the string buffer length for FORTRAN In the C++ API, call H5Eget_msg() in a manner similar to the way H5Fget_name() is called. Platforms tested: Linux 2.4 (heping) w/FORTRAN & C++ Solaris 2.7 (arabica) w/FORTRAN & C++
* [svn-r9234] Purpose:Quincey Koziol2004-09-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Code cleanup Description: Tweak recent "forward compatibility" changes to the H5E* API (which allowed for the old H5E API functions to remain unchanged) by allowing for the error stack callback function (H5E_auto_t) to also remain unchanged from the 1.6 branch. This required changing the H5E{get|set}_auto routines to have the old style H5E_auto_t type (which didn't have a stack ID parameter) and the new H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which has a stack ID parameter). This should make the H5E API changes as forwardly compatible as possible. One side-affect of this change was that it was impossible to determine if the current auto error callback was the old style (H5E_auto_t) or the new style (H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was adde to query this. Platforms tested: FreeBSD 4.10 (sleipnir) IRIX64 6.5 (modi4) h5committest
* [svn-r9183] Purpose: New featureRaymond Lu2004-09-011-6/+6
| | | | | | | | | | | | Description: Restore 6 old error API functions back to the library to be backward compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto, H5Eget_auto. These functions do not have error stack as parameter. Solution: Internally, these functions use default error stack. Platforms tested: h5committest and fuss. Misc. update: RELEASE.txt
* [svn-r9128] Purpose: Code updatingBinh-Minh Ribler2004-08-201-87/+82
| | | | | | | | | Description: Renamed some private members and member functions appropriately. Platforms tested: SunOS 5.7 (arabica) Linux 2.4 (eirene)
* [svn-r8569] Purpose:Binh-Minh Ribler2004-05-241-21/+356
| | | | | | | | | | | | | | | | | | | Add/Correct documentation Description: Added doxygen documentation to: Exception.cpp H5CompType.cpp H5FcreatProp.cpp and corrected some typos in comments for: H5AbstractDs.cpp H5EnumType.cpp H5File.cpp Platforms: SunOS 5.7 (arabica) Linux 2.4 (eirene)
* [svn-r8269] Purpose:Binh-Minh Ribler2004-03-221-43/+14
| | | | | | | | | | | | | | | | | | | | | Cleaning up warnings Description: Many exception constructors have warnings about reference to temporary location because of the parameter initialization, for example, "const string& var = 0." Solution: Changed "string&" parameters to pass by value for these constructors. Consequently, passing string by value also takes care of char pointers so the overloaded constructors for char pointers are then removed. Also, instead of setting Exception::detailMessage to null string, I set it to DEFAULT_MSG ("No detailed information provided") by default. Platforms: SunOS 5.7 (arabica) Linux 2.4 (eirene) IA-64 (titan)
* [svn-r7264] Purpose: Error API gradual checkinRaymond Lu2003-07-261-10/+14
| | | | Platforms tested: h5committested
* [svn-r6990] Purpose:Binh-Minh Ribler2003-06-071-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | Bug fix and minor code enhancement Description: Missing methods to read/write C++ String for an attribute and a dataset. Solution: Added overloaded functions read and write to H5::Attribute and H5::DataSet. Also, added another constructor StrType so the need to separately set the length of the string type can be eliminated. It's minor but convenient. Made some minor changes to make error messages more readable. Platforms: SunOS 5.7 (arabica) Linux 2.4 (eirene) IRIX 6.5.11 (modi4) HPUX 11.00 (kelgia)
* [svn-r6509] Purpose:Binh-Minh Ribler2003-03-201-6/+0
| | | | | | | | | | | | | | | | | | | | | Adding new platform support Description: Added support for the C++ API on hpux11.00 with the compiler aCC. Because aCC doesn't use "std," a new macro H5_NO_STD is provided and used where "std" is presented in the library. In addition, changed several cout's when reporting errors to cerr's. Platforms tested: HPUX 11.00 (kelgia) Linux 2.2x (eirene) IRIX 6.5.11 (modi4) SunOS 5.7 (arabica) - by Elena Misc. update:
* [svn-r6485] Purpose:Bill Wendling2003-03-171-0/+2
| | | | | | | | | | | | Bug Fix Description: "using namespace std" isn't supported on HP-UX. We ahve the H5_NO_STD flag begin set, but it wasn't being used. Solution: Added the check to the #ifdef line to see if H5_NO_STD is defined before trying to use it in the program. Platforms tested: Kelgia
* [svn-r6236] Purpose: CopyrightBinh-Minh Ribler2003-01-071-0/+14
| | | | | | | | | Description: Added copyright notice to C++ API files, including *.h, *.cpp, and Makefile.in Platforms: Linux 6.2 (eirene)
* [svn-r5487] Purpose:Quincey Koziol2002-05-301-10/+0
| | | | | | | | | | | | | | Bug fix Description: H5Ewalk_cb was being called from a C++ API, when it really is an internal routine to the H5E interface. Solution: Removed C++ API wrapper for it. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r4580] Binh-Minh Ribler2001-10-311-1/+1
| | | | | | | | | | | | | | Purpose: Bug fixing Description: + added operator= to PredType + removed 'using namespace std' from H5RefCounter.cpp because it's not used and leaving it there requires #include some standard header file + added 'using namespace std' in H5Exception.cpp Platforms tested: SunOS 5.7 (arabica) Windows 98
* [svn-r3707] Purpose: Bug fixes and code clean upBinh-Minh Ribler2001-03-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description and Solution: - Predefined type objects become outdated when the application calls H5close and then H5open to use the library again. Solution: + Reimplemented PredType using enum type to obtain up-to-date values for predefined types, i.e. H5T_xxx_yyy's, when they are used. + Added to PredType its own version of getId() to return the appropriate predefined type id according to the enum value. + Made IdComponent::getId() a virtual function - Since Albert already fixed the "multiply defined RcsId" problem, removed the now become unnessary "#undef RCSID" from H5Include.h - Added a check for func_name != NULL in one of the Exception constructors because seg. fault. might occur in some situations. - It is more convenient to make a copy of a datatype, dataspace, or property list by using assignment operator Solution: + Added assignment operator to DataType, DataSpace, and PropList so that they will invoke H5Tcopy, H5Scopy, and H5Pcopy, respectively, instead of just simply copying the data members as for other classes. So, now a type, space, or property list can be copied by either : mytype = original_type, or mytype.copy(original_type) Note that copy constructors are still just copying the data members. + Added an assignment operator to DataType that takes a predefined type. + Made IdComponent::operator= a virtual function Platforms tested: arabica (sparc-sun-solaris 2.7)
* [svn-r3602] Binh-Minh Ribler2001-03-101-31/+61
| | | | | | | | | | | | | | | | | | | | | Purpose: Usability enhancement Description: - Added more information about the failure to all the throw's, i.e, member function name and more detail about the failure, where appropriate. Also, added exception throws for private functions, such as p_close to provide more specific details. - Added two api functions: Exception::getFuncName() and Exception::getCFuncName() to provide the name of the member function where failure occurs. - Fixed some typos, one of which caused segn. fault in some situations (resetIdComponent was accidentally called twice in a couple of places :) Platforms: arabica (sparc-sun-solaris 2.7)
* [svn-r3550] Binh-Minh Ribler2001-03-061-6/+6
| | | | | | | | | | | | | Purpose: Bug fix Description: The Exception destructor accidently called H5Eprint, which caused error messages to be printed where they are not supposed to because the failures are expected. Solution: Removed that lousy call! Platforms tested: arabica (sparc-sun-solaris 2.7)
* [svn-r3540] Purpose:Binh-Minh Ribler2001-03-021-13/+13
| | | | | | | | | | | | | | | | | | | | Feasibility improvement Description: - Some member functions in class Exception can be called without an Exception instance exits, but because they are not static, they cannot. - Many exception throwings don't provide any information to callers. Solution: - Add 'static' to several member functions in class Exception. - Added <class name::function name> to some exceptions thrown in H5File.cpp and H5FcreatProp.cpp. I'm trying this for users' comments. More information may be added later and to all exceptions. - Changed the comment line for emacs editor to: // C++ informative line for the emacs editor: -*- C++ -*- because... I'd rather not say that the code "may look like C" :-) Platforms tested: Linux (gcc version egcs-2.91.66)
* [svn-r3199] Binh-Minh Ribler2000-12-231-30/+23
| | | | | | | | | | | | | | | | | | Purpose: bug fix Description: I found a couple of places where virtual destructors were missing and could cause small memory leaks. Also, some destructors were not virtual when they should be. Solution: - added virtual destructors, which also free dynamically allocated memory - added virtual to several destructors - also, fixed several typos Platforms tested: Solaris 2.7 (arabica)