]> Creatis software - gdcm.git/blobdiff - src/gdcmException.cxx
Fix mistypings
[gdcm.git] / src / gdcmException.cxx
index 66bcb985cfe01e67e7b337f67b21fb33bbff975c..1e5ccb176e80bdbf39bd8f58d291134f96d1d11b 100644 (file)
-#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: 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
+  http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html 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 <typeinfo>
-#include <stdio.h>
+#include <stdlib.h> // for exit
 
-gdcmException::gdcmException(const std::string &f, const std::string& msg) throw()
+namespace GDCM_NAME_SPACE 
+{
+//-----------------------------------------------------------------------------
+// Exception
+/**
+ * \brief constructor
+ * @param f f
+ * @param msg msg 
+ */
+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
 
-
-
-void gdcmException::fatal(const char *from) throw() {
-  try {
-    std::cerr << "Fatal: exception received in " << from 
-        << " while handling exception." << std::endl;
-    exit(-1);
-  }
-  catch(...) {
-    try {
-      std::cerr << "Fatal: exception received in Exception::fatal while handling exception."
-          << std::endl;
+/**
+ * \brief fatal
+ * @param from from
+ */
+void Exception::fatal(const char *from) throw() 
+{
+   try
+   {
+      std::cerr << "Fatal: exception received in " << from 
+                << " while handling exception." << std::endl;
       exit(-1);
-    }
-    catch(...) {
-      exit(-1);
-    }
-  }  
+   }
+   catch(...)
+   {
+      try
+      {
+         std::cerr << "Fatal: exception received in Exception::fatal while handling exception."
+                   << std::endl;
+         exit(-1);
+      }
+      catch(...)
+      {
+         exit(-1);
+      }
+   }
 }
 
-
-std::string gdcmException::getName() const throw() {
-  try {
-#ifdef __GNUC__   // GNU C++ compiler class name demangling
-      unsigned int nested = 1, i, nb, offset;
+/**
+ * \brief getName
+ * @return string
+ */
+std::string Exception::getName() const throw()
+{
+   try
+   {
+#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') {
-       nested = iname[1] - '0';
-       iname = std::string(iname, 2, std::string::npos);
+      if ( iname[0] == 'Q' )
+      {
+         nested = iname[1] - '0';
+         iname = std::string(iname, 2, std::string::npos);
       }
-      for(i = 0; i < nested; i++) {
-       ::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);
+      for(i = 0; i < nested; i++)
+      {
+         ::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 );
       }
       return name;
-#else             // no class name demangling
-      //name = typeid(*this).name();
-      return "Exception";
+#else           // no class name demangling
+      std::string name = typeid(*this).name();
+      return name;
 #endif
-  }
-  catch(...) {
-    fatal("Exception::getName(std::string &)");
-    return "";
-  }
+   }
+   catch(...) 
+   {
+      fatal("Exception::getName(std::string &)");
+      return "";
+   }
 }
 
-
-gdcmException::operator const char *() const throw() {
-  return getName().c_str();
+/**
+ * \brief Exception
+ */
+Exception::operator const char *() const throw() 
+{
+   return getName().c_str();
 }
 
-
-ostream& operator<<(ostream &os, const gdcmException &e) {
-  try {  
-    os << "Exception " << e.getName() << " thrown: " << e.getError() << std::endl;
-  }
-  catch(...) {
-    gdcmException::fatal("operator<<(ostream &, const gdcmException&)");
-  }
-  return os;
+//-----------------------------------------------------------------------------
+/**
+ * \brief Exception::operator <<
+ * @param os ostream to write to
+ * @param e exception to raise
+ */
+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
+//-----------------------------------------------------------------------------