Filehelper -即使使用FieldConverter也会引发错误
本文关键字:错误 FieldConverter Filehelper | 更新日期: 2023-09-27 18:08:31
这是问题的延续在FileHelper
中操作错误记录我必须知道,如果有一个错误,我们可以用null值覆盖它,正如在上面的问题中回答的。
如果我重写该值,那么首先存在错误的事实就会丢失。是否有一种方法来更新错误的值与空,也抛出错误的errorinfo为该记录?
谢谢
您可以自己将错误存储在某个地方,并在处理完行后抛出它们。
public class DateConverter : ConverterBase
{
public override object StringToField(string from)
{
//if you can't convert to date time.. .return null
DateTime date;
if (!DateTime.TryParse(from, out date))
{
ErrorTracker.Add(string.Format("Failed to parse date {0}.", from));
return null;
}
return date;
}
/// etc...
}
public static class ErrorTracker
{
public static List<string> ErrorList = new List<string>();
public static void Add(string errorMessage)
{
ErrorList.Add(errorMessage);
}
public static void Clear()
{
ErrorList.Clear();
}
}
class Program
{
static void Main(string[] args)
{
var engine = new FileHelperEngine<ModelClass>();
ErrorTracker.Clear();
var productRecords = engine.ReadFile(@"C:'whatever.txt");
foreach (var errorMessage in ErrorTracker.ErrorList)
{
Console.WriteLine(errorMessage);
}
Console.ReadKey();
}
}