2013-11-19 3 views
0

Я хотел бы установить ErrorMode = ErrorMode.SaveAndContinue, чтобы я мог обрабатывать ошибки после того, как был записан файл CSV.Проверка обработки ошибок при записи файла csv

Как я могу создавать ошибки уровня строки искусственно при вызове WriteStream(), чтобы я мог проверить свою обработку ошибок?

В частности, я хотел бы узнать, будет ли происходить событие AfterWriteRecord, если ошибки строки.

ответ

1

Глядя на исходный код, есть несколько способов:

Вы называете WriteStream() с IEnumerable<T> где T ваша FileHelpers запись класса. Поэтому в вашем тесте создайте List<T>, но добавьте в него нуль в качестве одной из записей. Это приведет к тому, что WriteStream() поднимет BadUsageException.

В альтернативном варианте вы можете добавить событие OnProgress, в котором вы делали исключение.

Вы также можете исключить исключение из BeforeWriteEvent или AfterWriteEvent.

Вы можете прикрепить custom field converter, который вызывает исключение в переопределении FieldToString().

Любое из вышеперечисленных исключений будет захвачено опцией SaveAndContinue.

Смежные вопросы