Better way to catch trouble points

Posted by mac on Stack Overflow See other posts from Stack Overflow or by mac
Published on 2010-06-14T01:50:21Z Indexed on 2010/06/14 2:02 UTC
Read the original article Hit count: 164

Filed under:

User submits a CSV file which is consumed by a program. Values which are used throughout the program come from the CSV, natually if values are missed it is a problem. Below is my solution.

Ip on top

private List<String> currentFieldName = new ArrayList<String>();

As part of the method:

try {
  setCurrentFieldName("Trim Space");
  p.setTrimSpace(currentLineArray[dc.getTRIM_POSITION()].equals("yes") ? true : false);

  setCurrentFieldName("Ignore Case");
  p.setIgnoreCase(currentLineArray[dc.getIGNORE_CASE_POSITION()].equals("yes") ? true : false);

} catch (NullPointerException e) {
    throw new InputSpreadsheetValueUnassignedException("\"Type\" field not set: " + currentFieldName);
}

And the method which keeps track of a current field being looked at:

private void setCurrentFieldName(String fieldName) {
 currentFieldName.clear();
 currentFieldName.add(fieldName);
}

The idea there is that if user fails to submit value and i will end up getting null, before throwing an exception, i will know what value was not assigned.

So, this being said, specific questions:

  1. Is what i have shown below an acceptable solution?
  2. Can you suggest something more elegant?

© Stack Overflow or respective owner

Related posts about java