【发布时间】:2016-02-09 04:12:42
【问题描述】:
我有一个类似这样的代码:
class A
{
public Action<int, int> OnAddition;
public int Add(int val1, int val2)
{
if (OnAddition != null)
{
OnAddition(val1, val2);
}
return val1 + val2;
}
}
class B
{
A a = new A();
public B()
{
a.OnAddition = (v1, v2) =>
{
Task.Run(() =>
{
Console.WriteLine("Adding {0} and {1}", v1, v2);
throw new Exception("Blah");
});
};
}
public int Add(int val1, int val2)
{
return a.Add(val1, val2);
}
}
class Program
{
static void Main(string[] args)
{
try
{
B b = new B();
Console.WriteLine(b.Add(1, 7));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
我无法控制 A 和 B 类,问题是当
throw new Exception("Blah"); 发生我的代码无法捕获异常。
我的代码如何捕获该异常?
【问题讨论】:
标签: c# .net task-parallel-library system.reactive