[Lemon-commits] [lemon_svn] deba: r1633 - hugo/trunk/src/lemon

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:46:42 CET 2006


Author: deba
Date: Fri Mar 11 17:44:20 2005
New Revision: 1633

Modified:
   hugo/trunk/src/lemon/error.h

Log:
Solve conflict.



Modified: hugo/trunk/src/lemon/error.h
==============================================================================
--- hugo/trunk/src/lemon/error.h	(original)
+++ hugo/trunk/src/lemon/error.h	Fri Mar 11 17:44:20 2005
@@ -324,25 +324,23 @@
     virtual ~DataFormatError() throw() {}
   };
 
-  class IOLogicError : public IOError, public LogicError {
+  class IOParameterError : public LogicError {
   protected:
     ExceptionMember<std::string> _message;
     ExceptionMember<std::string> _file;
-    int _line;
 
     mutable ExceptionMember<std::string> _message_holder;
   public:
 
-    IOLogicError(const IOLogicError &ile) : 
-      IOError(ile), LogicError(ile), 
-      _message(ile._message), _file(ile._file) {}
+    IOParameterError(const IOParameterError &ile) : 
+      LogicError(ile), _message(ile._message), _file(ile._file) {}
 
     ///\e 
-    explicit IOLogicError(const char *the_message)
-      : _message(the_message), _line(0) {}
+    explicit IOParameterError(const char *the_message)
+      : _message(the_message) {}
 
     ///\e 
-    IOLogicError(const char *file_name, const char *the_message)
+    IOParameterError(const char *file_name, const char *the_message)
       : _message(file_name), _file(file_name) {}
 
      ///\e 
@@ -384,10 +382,10 @@
     }
 
     virtual const char* exceptionName() const {
-      return "lemon::IOLogicError";
+      return "lemon::IOParameterError";
     }
 
-    virtual ~IOLogicError() throw() {}
+    virtual ~IOParameterError() throw() {}
   };
 
 
@@ -399,6 +397,8 @@
     int line;
     const char *function;
     const char *message;
+
+    mutable ExceptionMember<std::string> _message_holder;
   public:
     ///\e
     AssertionFailedError(const char *_file, int _line, const char *func,
@@ -426,10 +426,12 @@
 	  ostr << function << ": ";
 	ostr << message;
 	if( assertion )
-	  ostr << " (assertion '" << assertion << "' failed)";
+	   ostr << " (assertion '" << assertion << "' failed)";
+	_message_holder.set(ostr.str());
 	return ostr.str().c_str();
       }
       catch(...) {}
+      if( _message_holder.valid() ) return _message_holder.get().c_str();
       return exceptionName();
     }
 



More information about the Lemon-commits mailing list