我有一个自定义异常过滤器,我用来捕获一个自定义的异常,我写了,但由于某些原因,当我抛出我的异常,它没有得到过滤器.相反,我只是收到一个错误,我的异常未被用户代码处理.任何人都可以提供一些建议/帮助,我应该如何设置?相关代码如下:
// controller [CustomExceptionFilter] public class SomeController : Controller { public SomeController() { } public ActionResult Index() { SomeClass.SomeStaticMethod(); return View(); } }
这是具有customexception属性的控制器
// some class (where exception is being thrown) public class SomeClass { public static void SomeStaticMethod() { throw new MyCustomException("Test"); } }
那就是抛出异常的类(我的测试)(我也试过直接在控制器上).
// Custom exception filter (want this to catch all unhandled exceptions) public class CustomExceptionFilter : FilterAttribute,IExceptionFilter { public void OnException(ExceptionContext filterContext) { if (filterContext.Exception.GetType() == typeof(MyCustomException)) { // do stuff } } }
这是自定义异常过滤器…它在执行代码并抛出异常时永远不会被访问.相反,我得到上面提到的错误.我读过的一切都表明这是设置这个的正确方法,但是当我在自定义过滤器中设置断点时,它永远不会被击中….
我在这里缺少什么?
TIA