An exception handler that queues the first x exceptions, then throws any further exceptions.
Note
when testing this on systems with a high number of cores/threads under load we noted discrepancies between the number of exceptions counted and the number exceptions queued. If it is actually important to see the exceptions thrown then we would heavily recommend you use the single threaded iterator() in CsvToBean and collecting the exceptions yourself.
| Modifier and Type | Field and Description |
|---|---|
| private final AtomicInteger | |
| private final int |
| Access | Constructor and Description |
|---|---|
| public | ExceptionHandlerQueueThenThrowAfter(int
The number of exceptions that will be queued. Any
exception handled after this limit will be thrown. maxExceptions)Creates an instance. |
| Modifier and Type | Method and Description |
|---|---|
| public CsvException | handleException(CsvException e)
Implements com. Determines how opencsv will handle exceptions that crop up during bean creation or writing. |
| count | back to summary |
|---|---|
| private final AtomicInteger count | |
| maxExceptions | back to summary |
|---|---|
| private final int maxExceptions | |
| ExceptionHandlerQueueThenThrowAfter | back to summary |
|---|---|
| public ExceptionHandlerQueueThenThrowAfter(int maxExceptions) Creates an instance.
| |
| handleException | back to summary |
|---|---|
| public CsvException handleException(CsvException e) throws CsvException Implements com. Doc from com. Determines how opencsv will handle exceptions that crop up during bean creation or writing. There are three ways of dealing with an exception:
Please be cautioned: Due to the multi-threaded nature of opencsv's conversion routines, there is no guarantee that the exception thrown, if your chosen error handler throws exceptions, is the error in the input that would have caused the exception to be thrown if the input were processed in strict sequential order. That is, if there are four errors in the input and your error handler queues the first three but throws the fourth, the exception thrown might relate to any of the four errors in the input. If your exception handler queues a certain number of exceptions
before throwing one, opencsv makes a best-faith effort to make sure all
of the exceptions marked for queueing are actually available via
This method must be thread-safe.
| |