Buddhi De Silva created CSV-309:
-----------------------------------

             Summary: Remove duplicate exception class name from message
                 Key: CSV-309
                 URL: https://issues.apache.org/jira/browse/CSV-309
             Project: Commons CSV
          Issue Type: Improvement
          Components: Parser
    Affects Versions: 1.10.0
            Reporter: Buddhi De Silva


When a parsing error occurred during the CSV data parsing, an 
'UncheckedIOException' is thrown with a detailed message like below.
{code:java}
java.io.UncheckedIOException: IOException reading next record: 
java.io.IOException: (line 2) invalid char between encapsulated token and 
delimiter {code}
If you inspect above error message carefully, you would see that the exception 
type (IOException in this case) is printed twice in the first message. I think 
we could better format this error message as below.
{code:java}
java.io.UncheckedIOException: Error in reading next record: 
java.io.IOException: (line 2) invalid char between encapsulated token and 
delimiter {code}
What causes this issue?

In 'CSVParser.CSVRecordIterator.getNextRecord()' method has following format 
defined.
{code:java}
private CSVRecord getNextRecord() {
    try {
        return CSVParser.this.nextRecord();
    } catch (final IOException e) {
        throw new UncheckedIOException(e.getClass().getSimpleName() + " reading 
next record: " + e.toString(), e);
    }
}
 {code}
we could do a simple modification to the throw clause as follows to make this 
more meaningful.
{code:java}
throw new UncheckedIOException("Error in reading next record: " + e.toString(), 
e);     {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to