message: better error handling for boost::lexical_cast
diff: @@ -74,11 +74,16 @@ namespace cmdstan {
  if (_name == name) {
  args.pop_back();
  + try {
  T proposed_value = boost::lexical_cast<T>(value);
  -
  - if (!set_value(proposed_value)) {
  + if (set_value(proposed_value)) {
  + return true;
  + }
  + } catch (...) {
  + // intentionally empty.
  + }
  std::stringstream message;
  - message << proposed_value
  + message << value
  << " is not a valid value for "
  << "\"" << _name << "\"";
  err(message.str());
  @@ -88,7 +93,6 @@ namespace cmdstan {
  args.clear();
  return false;
  }
  - }
  return true;
  }
  