]> Creatis software - gdcm.git/blobdiff - src/gdcmException.cxx
ENH: First pass at my big endian emulation on little endian
[gdcm.git] / src / gdcmException.cxx
index ee39112f1178e873ebb7c26fccf61abfd79f2a89..698b7a608017f0c52fc5f13471eaee4ebaa0c03b 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmException.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/10/28 19:58:05 $
-  Version:   $Revision: 1.21 $
+  Date:      $Date: 2005/02/01 10:29:55 $
+  Version:   $Revision: 1.26 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 #include <typeinfo>
 namespace gdcm 
 {
-
 //-----------------------------------------------------------------------------
 // Exception
-
 /**
- * \ingroup Exception
  * \brief constructor
- * @param f
- * @param msg  
+ * @param f f
+ * @param msg msg 
  */
-Exception::Exception(const std::string &f, const std::stringmsg) 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("Exception::Exception(const std::string&, const std::string&, const std::string&)");
-}
+   catch(...) 
+   {
+      fatal("Exception::Exception(const std::string&, const std::string&, const std::string&)");
+   }
 #endif
 
-
 /**
- * \ingroup Exception
  * \brief fatal
- * @param from 
+ * @param from from
  */
-void Exception::fatal(const char *from) throw() {
+void Exception::fatal(const char *from) throw() 
+{
    try
    {
       std::cerr << "Fatal: exception received in " << from 
@@ -72,7 +70,6 @@ void Exception::fatal(const char *from) throw() {
 }
 
 /**
- * \ingroup Exception
  * \brief getName
  * @return string
  */
@@ -80,7 +77,7 @@ std::string Exception::getName() const throw()
 {
    try
    {
-#ifdef __GNUC__   // GNU C++ compiler class name demangling
+#if defined(__GNUC__) && 0   // GNU C++ compiler class name demangling
       unsigned int nested = 1, i, nb;
       int offset;
       std::string one;
@@ -102,37 +99,43 @@ std::string Exception::getName() const throw()
       }
       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 Exception
  * \brief Exception
  */
- Exception::operator const char *() const throw() {
-  return getName().c_str();
+Exception::operator const char *() const throw() 
+{
+   return getName().c_str();
 }
 
 //-----------------------------------------------------------------------------
 /**
- * \ingroup Exception
  * \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;
+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
 //-----------------------------------------------------------------------------