[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