我正在编写一个自定义错误处理方法,并将它传递给Exception对象。我需要能够访问该Exception的ExceptionContext对象,因此我可以在执行Error视图之前将属性设置为true。有没有人知道如何获得ExceptionContext,只给出一个Exception对象?
作为参考,我需要ExceptionContext对象的原因是我可以执行以下代码:
filterContext.ExceptionHandled = true; // filterContext is of type ExceptionContext
this.View("Error_partial", filterContext.Exception).ExecuteResult(this.ControllerContext);
我在网上看到ExceptionHandled 必须设置为true,否则下面的语句会抛出一个黄色的死亡屏幕,而不是我喜欢的友好的“Error_partial”页面。因此,能够访问Exception的ExceptionContext非常重要。任何帮助都将非常感激。
答案 0 :(得分:0)
聚会很晚,我认为你已经解决了这个问题,但是为了别人的利益:
您可以创建一个实现IExceptionFilter
的类,并将其添加到控制器的过滤器集合或GlobalFilterCollection
。将自定义异常处理逻辑放入类的OnException
方法中,该方法接受ExceptionContext
参数。这是ExceptionHandled
属性必须设置为true
的对象,以避免黄色死亡屏幕。
答案 1 :(得分:-1)