X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmException.cxx;h=1e5ccb176e80bdbf39bd8f58d291134f96d1d11b;hb=e7768bbebdc9a5972e396d71a3e848f5674ee378;hp=3f6666050182ce14948653b43305022adc4b93d2;hpb=f6fd616782f9811f1390c64c9a3e7beb50ca4a04;p=gdcm.git diff --git a/src/gdcmException.cxx b/src/gdcmException.cxx index 3f666605..1e5ccb17 100644 --- a/src/gdcmException.cxx +++ b/src/gdcmException.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmException.cxx,v $ Language: C++ - Date: $Date: 2004/10/08 04:52:55 $ - Version: $Revision: 1.19 $ + Date: $Date: 2007/05/23 14:18:10 $ + Version: $Revision: 1.29 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,35 +19,37 @@ #include "gdcmException.h" #include +#include // for exit +namespace GDCM_NAME_SPACE +{ //----------------------------------------------------------------------------- -// gdcmException - +// Exception /** - * \ingroup gdcmException * \brief constructor - * @param f - * @param msg + * @param f f + * @param msg msg */ -gdcmException::gdcmException(const std::string &f, const std::string& msg) throw() +Exception::Exception(const std::string &f, const std::string &msg) throw() #ifdef __GNUC__ - try + try #endif - : From(f), Error(msg) { - } + : From(f), Error(msg) + { + } #ifdef __GNUC__ -catch(...) { - fatal("gdcmException::gdcmException(const std::string&, const std::string&, const std::string&)"); -} + catch(...) + { + fatal("Exception::Exception(const std::string&, const std::string&, const std::string&)"); + } #endif - /** - * \ingroup gdcmException * \brief fatal - * @param from + * @param from from */ -void gdcmException::fatal(const char *from) throw() { +void Exception::fatal(const char *from) throw() +{ try { std::cerr << "Fatal: exception received in " << from @@ -70,21 +72,21 @@ void gdcmException::fatal(const char *from) throw() { } /** - * \ingroup gdcmException * \brief getName * @return string */ -std::string gdcmException::getName() const throw() +std::string Exception::getName() const throw() { try { -#ifdef __GNUC__ // GNU C++ compiler class name demangling - unsigned int nested = 1, i, nb, offset; +#if defined(__GNUC__) && 0 // GNU C++ compiler class name demangling + unsigned int nested = 1, i, nb; + int offset; std::string one; std::string name; std::string iname = typeid(*this).name(); - if(iname[0] == 'Q') + if ( iname[0] == 'Q' ) { nested = iname[1] - '0'; iname = std::string(iname, 2, std::string::npos); @@ -94,42 +96,48 @@ std::string gdcmException::getName() const throw() ::sscanf(iname.c_str(), "%u%n", &nb, &offset); iname = std::string(iname, offset, std::string::npos); name += std::string(iname, 0, nb); - if(i + 1 < nested) name += "::"; - iname = std::string(iname, nb, std::string::npos); + if ( i + 1 < nested) name += "::"; + iname = std::string(iname, nb, std::string::npos ); } return name; #else // no class name demangling - //name = typeid(*this).name(); - return "Exception"; + std::string name = typeid(*this).name(); + return name; #endif - } - catch(...) { - fatal("Exception::getName(std::string &)"); - return ""; - } + } + catch(...) + { + fatal("Exception::getName(std::string &)"); + return ""; + } } /** - * \ingroup gdcmException - * \brief gdcmException + * \brief Exception */ - gdcmException::operator const char *() const throw() { - return getName().c_str(); +Exception::operator const char *() const throw() +{ + return getName().c_str(); } //----------------------------------------------------------------------------- /** - * \ingroup gdcmException - * \brief gdcmException::operator << + * \brief Exception::operator << + * @param os ostream to write to + * @param e exception to raise */ - std::ostream& operator<<(std::ostream &os, const gdcmException &e) { - try { - os << "Exception " << e.getName() << " thrown: " << e.getError() << std::endl; - } - catch(...) { - gdcmException::fatal("operator<<(std::ostream &, const gdcmException&)"); - } - return os; +std::ostream& operator<<(std::ostream &os, const Exception &e) +{ + try + { + os << "Exception " << e.getName() << " thrown: " << e.getError() << std::endl; + } + catch(...) + { + Exception::fatal("operator<<(std::ostream &, const Exception&)"); + } + return os; } +} // end namespace gdcm //-----------------------------------------------------------------------------