我有以下内容:
public class FooWrapper
{
public Action Foo { get; set; }
public void Execute()
{
try
{
Foo.Invoke();
}
catch (Exception exception)
{
//exception is null
//do something interesting with the exception
}
}
}
当我使用以下内容运行我的单元测试时:
new FooWrapper() { Foo = () => { throw new Exception("test"); } };
异常按预期抛出但是catch会逐步执行,但“exception”为null。我如何得到.Invoke()抛出的异常来正确处理它?</ p>
答案 0 :(得分:2)
这听起来像是catch块中代码中的错误。样本定义的catch块中的异常值不能为null。必须有一个非空的异常值才能执行该代码。
你能发布catch块的内容吗?
答案 1 :(得分:2)
如果断点在<{strong>外面<{1}}行,它只会显示为null;在里面,它应该是非null。我刚刚测试了它,并按预期得到了exception
Exception
。