X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmException.cxx;h=037156051d30ba1abb35afe9a428e66aeca620f5;hb=2e83306e5f3ef870cd6959d163a88d0731b9fcd5;hp=66bcb985cfe01e67e7b337f67b21fb33bbff975c;hpb=b950a88db3b779f409f548361bbc62882094b9fb;p=gdcm.git diff --git a/src/gdcmException.cxx b/src/gdcmException.cxx index 66bcb985..03715605 100644 --- a/src/gdcmException.cxx +++ b/src/gdcmException.cxx @@ -1,19 +1,35 @@ -#ifdef _MSC_VER -//'identifier' : not all control paths return a value -//#pragma warning ( disable : 4715 ) -// 'identifier' : class 'type' needs to have dll-interface to be used by -// clients of class 'type2' -#pragma warning ( disable : 4251 ) -// 'identifier' : identifier was truncated to 'number' characters in the -// debug information -#pragma warning ( disable : 4786 ) -#endif //_MSC_VER +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmException.cxx,v $ + Language: C++ + Date: $Date: 2004/06/20 18:08:47 $ + Version: $Revision: 1.16 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ #include "gdcmException.h" #include #include +//----------------------------------------------------------------------------- +// gdcmException + +/** + * \ingroup gdcmException + * \brief constructor + * @param f + * @param msg + */ gdcmException::gdcmException(const std::string &f, const std::string& msg) throw() #ifdef __GNUC__ try @@ -27,8 +43,12 @@ catch(...) { #endif - -void gdcmException::fatal(const char *from) throw() { +/** + * \ingroup gdcmException + * \brief fatal + * @param from + */ + void gdcmException::fatal(const char *from) throw() { try { std::cerr << "Fatal: exception received in " << from << " while handling exception." << std::endl; @@ -46,8 +66,12 @@ void gdcmException::fatal(const char *from) throw() { } } - -std::string gdcmException::getName() const throw() { +/** + * \ingroup gdcmException + * \brief getName + * @return string + */ + std::string gdcmException::getName() const throw() { try { #ifdef __GNUC__ // GNU C++ compiler class name demangling unsigned int nested = 1, i, nb, offset; @@ -67,7 +91,7 @@ std::string gdcmException::getName() const throw() { iname = std::string(iname, nb, std::string::npos); } return name; -#else // no class name demangling +#else // no class name demangling //name = typeid(*this).name(); return "Exception"; #endif @@ -78,20 +102,27 @@ std::string gdcmException::getName() const throw() { } } - -gdcmException::operator const char *() const throw() { +/** + * \ingroup gdcmException + * \brief gdcmException + */ + gdcmException::operator const char *() const throw() { return getName().c_str(); } - -ostream& operator<<(ostream &os, const gdcmException &e) { +//----------------------------------------------------------------------------- +/** + * \ingroup gdcmException + * \brief gdcmException::operator << + */ + std::ostream& operator<<(std::ostream &os, const gdcmException &e) { try { os << "Exception " << e.getName() << " thrown: " << e.getError() << std::endl; } catch(...) { - gdcmException::fatal("operator<<(ostream &, const gdcmException&)"); + gdcmException::fatal("operator<<(std::ostream &, const gdcmException&)"); } return os; } - +//-----------------------------------------------------------------------------