X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmException.cxx;h=037156051d30ba1abb35afe9a428e66aeca620f5;hb=26d4556cd9769bba7d3df71ed994cd1a5efa0016;hp=e79d3225f298f7ddfad2986d3dec589273ee0aa6;hpb=b6e445adae1963909952eeef10ea7c1d2e0d3e0d;p=gdcm.git diff --git a/src/gdcmException.cxx b/src/gdcmException.cxx index e79d3225..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,17 +43,21 @@ catch(...) { #endif - -void gdcmException::fatal(const char *from) throw() { +/** + * \ingroup gdcmException + * \brief fatal + * @param from + */ + void gdcmException::fatal(const char *from) throw() { try { - cerr << "Fatal: exception received in " << from - << " while handling exception." << endl; + std::cerr << "Fatal: exception received in " << from + << " while handling exception." << std::endl; exit(-1); } catch(...) { try { - cerr << "Fatal: exception received in Exception::fatal while handling exception." - << endl; + std::cerr << "Fatal: exception received in Exception::fatal while handling exception." + << std::endl; exit(-1); } catch(...) { @@ -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() << endl; + 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; } - +//-----------------------------------------------------------------------------