X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmException.cxx;h=aeb15c0b5760038f875af775b81204be4e0fe3e8;hb=74898aac8bf30b29bb0e33a3e74d0f5a0b71518e;hp=9ad0f4cf73f7969959cd6f19dae2333f63fe9a9e;hpb=0ba680a668e29ec5f58a2cf9af862be253c51055;p=gdcm.git diff --git a/src/gdcmException.cxx b/src/gdcmException.cxx index 9ad0f4cf..aeb15c0b 100644 --- a/src/gdcmException.cxx +++ b/src/gdcmException.cxx @@ -1,10 +1,13 @@ +// gdcmException.cxx +//----------------------------------------------------------------------------- #include "gdcmException.h" #include #include - -gdcmException::gdcmException(const string &f, const string& msg) throw() +//----------------------------------------------------------------------------- +// gdcmException +gdcmException::gdcmException(const std::string &f, const std::string& msg) throw() #ifdef __GNUC__ try #endif @@ -17,17 +20,16 @@ catch(...) { #endif - 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(...) { @@ -36,25 +38,24 @@ void gdcmException::fatal(const char *from) throw() { } } - -string gdcmException::getName() const throw() { +std::string gdcmException::getName() const throw() { try { #ifdef __GNUC__ // GNU C++ compiler class name demangling unsigned int nested = 1, i, nb, offset; - string one; + std::string one; - string name; - string iname = typeid(*this).name(); + std::string name; + std::string iname = typeid(*this).name(); if(iname[0] == 'Q') { nested = iname[1] - '0'; - iname = string(iname, 2, std::string::npos); + iname = std::string(iname, 2, std::string::npos); } for(i = 0; i < nested; i++) { ::sscanf(iname.c_str(), "%u%n", &nb, &offset); - iname = string(iname, offset, std::string::npos); - name += string(iname, 0, nb); + iname = std::string(iname, offset, std::string::npos); + name += std::string(iname, 0, nb); if(i + 1 < nested) name += "::"; - iname = string(iname, nb, std::string::npos); + iname = std::string(iname, nb, std::string::npos); } return name; #else // no class name demangling @@ -63,25 +64,24 @@ string gdcmException::getName() const throw() { #endif } catch(...) { - fatal("Exception::getName(string &)"); + fatal("Exception::getName(std::string &)"); return ""; } } - gdcmException::operator const char *() const throw() { return getName().c_str(); } - -ostream& operator<<(ostream &os, const gdcmException &e) { +//----------------------------------------------------------------------------- +std::ostream& operator<<(std::ostream &os, const gdcmException &e) { try { - os << "Exception " << e.getName() << " thrown: " << e.error << 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; } - +//-----------------------------------------------------------------------------