我为什么写C#,什么也不做一个通用的catch语句? [重复]
-
19-09-2019 - |
题
<强>可能重复:强>结果 为什么我不能赶在C#泛型例外?一>
我已审查和写入的 断路器一> 强>码最近。下面的方法编译,但从未进入catch块。我有很多变通的,这是无法得到正确的行为(过滤例外)的唯一途径,但我很好奇的为什么这个编译并不起作用!
public void AttemptCall<TException>(Action action)
where TException : Exception
{
try
{
action();
}
catch(TException e) // This block is never entered!
{
state.ActUponException(e);
throw;
}
}
下面是应该进入以前的方法的catch块的测试。
[TestMethod]
public void Throw_an_exception()
{
circuitBreaker.AttemptCall<Exception>(() => throw new Exception());
// test the circuit breaker's state
}
不隶属于 StackOverflow