[Lemon-commits] alpar: r3239 - lemon/trunk/lemon
Lemon SVN
svn at lemon.cs.elte.hu
Tue Mar 13 16:35:56 CET 2007
Author: alpar
Date: Tue Mar 13 16:35:56 2007
New Revision: 3239
Modified:
lemon/trunk/lemon/arg_parser.h
Log:
Using LEMON_ASSERT instead of LogicError()
Modified: lemon/trunk/lemon/arg_parser.h
==============================================================================
--- lemon/trunk/lemon/arg_parser.h (original)
+++ lemon/trunk/lemon/arg_parser.h Tue Mar 13 16:35:56 2007
@@ -310,37 +310,41 @@
operator bool()
{
Opts::iterator i = _parser._opts.find(_name);
- if(i==_parser._opts.end()) throw LogicError();
- else if(i->second.type!=ArgParser::BOOL)
- throw LogicError();
- else return *(i->second.bool_p);
+ LEMON_ASSERT(i==_parser._opts.end(),
+ std::string()+"Unkown option: '"+_name+"'");
+ LEMON_ASSERT(i->second.type!=ArgParser::BOOL,
+ std::string()+"'"+_name+"' is a bool option");
+ return *(i->second.bool_p);
}
///\e
operator std::string()
{
Opts::iterator i = _parser._opts.find(_name);
- if(i==_parser._opts.end()) throw LogicError();
- else if(i->second.type!=ArgParser::STRING)
- throw LogicError();
- else return *(i->second.string_p);
+ LEMON_ASSERT(i==_parser._opts.end(),
+ std::string()+"Unkown option: '"+_name+"'");
+ LEMON_ASSERT(i->second.type!=ArgParser::STRING,
+ std::string()+"'"+_name+"' is a string option");
+ return *(i->second.string_p);
}
///\e
operator double()
{
Opts::iterator i = _parser._opts.find(_name);
- if(i==_parser._opts.end()) throw LogicError();
- else if(i->second.type!=ArgParser::DOUBLE)
- throw LogicError();
- else return *(i->second.double_p);
+ LEMON_ASSERT(i==_parser._opts.end(),
+ std::string()+"Unkown option: '"+_name+"'");
+ LEMON_ASSERT(i->second.type!=ArgParser::DOUBLE,
+ std::string()+"'"+_name+"' is a floating point option");
+ return *(i->second.double_p);
}
///\e
operator int()
{
Opts::iterator i = _parser._opts.find(_name);
- if(i==_parser._opts.end()) throw LogicError();
- else if(i->second.type!=ArgParser::INTEGER)
- throw LogicError();
- else return *(i->second.int_p);
+ LEMON_ASSERT(i==_parser._opts.end(),
+ std::string()+"Unkown option: '"+_name+"'");
+ LEMON_ASSERT(i->second.type!=ArgParser::INTEGER,
+ std::string()+"'"+_name+"' is an integer option");
+ return *(i->second.int_p);
}
};
More information about the Lemon-commits
mailing list