0
我正在使用NuGet的FileHelpers库2.9.9版。我在尝试使用AfterReadRecord事件时遇到了问题。FileHelpers Library - AfterReadRecord异常未被捕获
当我从这个事件抛出一个异常时,这个异常没有被库捕获。我的理解是,库将从AfterReadRecord事件中捕获异常并从中构建ErrorInfo集合。相反,我得到一个
VS2013中出现“用户代码未处理的异常”警告。 “在FileHelpersTest.exe 中发生了 类型'System.Exception'的异常,但未在用户代码”“中处理其他信息:field1为 invalid”。
我在做什么错?提前致谢!
的代码看起来是这样的:
[DelimitedRecord(",")]
public class MyClass
{
public string Field1;
public string Field2;
public string Field3;
}
class Program
{
static void Main(string[] args)
{
FileHelperEngine<MyClass> engine = new FileHelperEngine<MyClass>();
engine.AfterReadRecord += new FileHelpers.Events.AfterReadHandler<MyClass>(engine_AfterReadRecord);
engine.ErrorMode = ErrorMode.SaveAndContinue;
MyClass[] records = engine.ReadString(",2,3");
ErrorInfo[] errors = engine.ErrorManager.Errors;
Console.WriteLine(errors.Count().ToString());
Console.Read();
}
static void engine_AfterReadRecord(EngineBase engine, FileHelpers.Events.AfterReadEventArgs<MyClass> e)
{
if (string.IsNullOrEmpty(e.Record.Field1))
throw new Exception("field1 is invalid");
} // I get the Exception unhandled warning here.
}
这正是发生的情况,谢谢。 – nivek