如果在迭代文件数据时出现任何转换异常,我需要记录异常消息,然后继续处理下一个数据。
例如,如果输入文件有 10 条记录,并且由于第 7 条记录而引发异常。然后我需要为 1-6 和 8-10 返回行,以及第 7 条记录的日志记录异常。
我使用以下代码使用文件的数据生成行:
public override IEnumerable<Row> Execute(IEnumerable<Row> rows)
{
using (FileEngine file = FluentFile.For<SomeDataRecordETL>().From(FilePath))
{
foreach (object obj in file)
{
yield return Row.FromObject(obj);
}
}
}
如果你在谈论FromObject()
抛出的异常,那么你可以使用try
- catch
:
foreach (object obj in file)
{
try
{
yield return Row.FromObject(obj);
}
catch (Exception ex) // ideally, this should be some specific exception type
{
Log(ex);
}
}