--- trunk/OOPSE-2.0/src/io/BondTypesSectionParser.cpp 2005/01/12 22:41:40 1930 +++ trunk/OOPSE-2.0/src/io/BondTypesSectionParser.cpp 2005/01/25 17:45:23 1957 @@ -46,6 +46,7 @@ namespace oopse { #include "types/QuarticBondType.hpp" #include "types/PolynomialBondType.hpp" #include "UseTheForce/ForceField.hpp" +#include "utils/simError.h" namespace oopse { BondTypesSectionParser::BondTypesSectionParser() { @@ -64,8 +65,10 @@ void BondTypesSectionParser::parseLine(ForceField& ff, int nTokens = tokenizer.countTokens(); if (nTokens < 4) { - - return; + sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } std::string at1 = tokenizer.nextToken(); @@ -82,7 +85,10 @@ void BondTypesSectionParser::parseLine(ForceField& ff, case btHarmonic : if (nTokens < 1) { - + sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { double kb = tokenizer.nextTokenAsDouble(); @@ -93,7 +99,10 @@ void BondTypesSectionParser::parseLine(ForceField& ff, case btCubic : if (nTokens < 4) { - + sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { double k3 = tokenizer.nextTokenAsDouble(); @@ -108,6 +117,11 @@ void BondTypesSectionParser::parseLine(ForceField& ff, case btQuartic : if (nTokens < 5) { + sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); + } else { b0 = tokenizer.nextTokenAsDouble(); @@ -123,6 +137,10 @@ void BondTypesSectionParser::parseLine(ForceField& ff, case btPolynomial : if (nTokens < 2 || nTokens % 2 != 0) { + sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { int nPairs = nTokens / 2; @@ -141,6 +159,11 @@ void BondTypesSectionParser::parseLine(ForceField& ff, case btUnknown : default: + sprintf(painCave.errMsg, "BondTypesSectionParser Error: Unknown Bond Type at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); + break; }