我创建了自己的行为如下:
public class BoundaryExceptionHandlingBehavior : IInterceptionBehavior
{
public IEnumerable<Type> GetRequiredInterfaces()
{
return Type.EmptyTypes;
}
public IMethodReturn Invoke(IMethodInvocation input, GetNextInterceptionBehaviorDelegate getNext)
{
try
{
return getNext()(input, getNext);
}
catch (Exception ex)
{
return null; //this would be something else...
}
}
public bool WillExecute
{
get { return true; }
}
}
我已正确设置它,以便我的行为按预期受到影响。但是,如果在 getNext() 所做的任何事情中发生任何异常,它都不会击中我的 catch 块。谁能澄清为什么?我并不是真的想解决这个问题,因为有很多方法可以处理异常,更多的是我不明白发生了什么,我想这样做。