当前位置:  开发笔记 > 编程语言 > 正文

在asp.net mvc应用程序中处理未处理异常的策略是什么?

如何解决《在asp.netmvc应用程序中处理未处理异常的策略是什么?》经验,为你挑选了1个好方法。

我想了解一些处理ASP.NET MVC中未处理异常的策略/实践.

总之,我想在发生任何错误时避开黄色屏幕,并向访问者显示错误一致的错误消息.

我的意思是你为此编写了一个控制器,它显示了相应的错误页面,或者你采取其他方式编写一个httpmodule并在全局级别捕获错误.

这方面的任何投入都表示赞赏.



1> Alex Nolasco..:

使用HandleError属性是要走的路.这是一个小样本,我用它来处理来自JQuery,ExtJs等的Ajax调用.

在你的控制器上

public class DataController : Controller
{    
    [HandleError(ExceptionType = typeof(ArgumentException), View = "ErrorAjax")]
    public void Foo(string x, string y)
    {    
        if (String.IsNullorEmpty(x))
            throw new ArgumentException("String cannot be empty!");

            // Call your layers or whatever here
            AnotherCall();
    }
}

然后在你的视图(ErrorAjax).注意它是强类型的(HandleErrorInfo)

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>





    Sorry Dude!


    
Sorry, an error occurred while processing your request. Action = <%= ViewData.Model.ActionName %> Controller = <%= ViewData.Model.ControllerName %> Message = <%= ViewData.Model.Exception.Message %>

几个陷阱

    检查你的web.config并确保customErrors mode ="On"

    对于初学者,在共享文件夹下创建视图

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有