分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

MVC异常处理(异常捕获)

发布时间:2023-09-06 01:27责任编辑:郭大石关键词:MVC

1.cshtml页面异常

2.Controller异常

3.路由参数异常。

4.页面不存在404

页面不存在404,可以通过配置config来处理

 ???<customErrors mode="On"> ?????<error statusCode="404" redirect="~/Error/Page404" /> ???</customErrors>

其它的异常都可以通过HandleErrorAttribute拦截处理

 ???public class ErrorFilter : HandleErrorAttribute ???{ ???????public override void OnException(ExceptionContext filterContext) ???????{ ???????????string errorMsg; ???????????var exception = filterContext.Exception; ???????????errorMsg = exception.Message; ?????????????if (filterContext.RequestContext.HttpContext.Request.IsAjaxRequest()) ???????????{ ???????????????var accept = filterContext.RequestContext.HttpContext.Request.AcceptTypes; ???????????????if (accept.Contains("application/json")) ???????????????{ ???????????????????filterContext.Result = new JsonResult() { Data = new { Success = false, Msg = errorMsg } }; ???????????????} ???????????????else ???????????????{ ???????????????????filterContext.Result = new JavaScriptResult() { Script = "alert( ‘" + errorMsg + "‘);" }; ???????????????} ???????????} ???????????else ???????????{ ???????????????//普通异常 ???????????????filterContext.Result = new ViewResult() { ViewName = "/Views/Test/ErrorMsg.cshtml",ViewData = new ViewDataDictionary() { { "msg", errorMsg } } }; ???????????} ???????????filterContext.ExceptionHandled = true; ???????} ???}

注册全局过滤器

 ???public class FilterConfig ???{ ???????public static void RegisterGlobalFilters(GlobalFilterCollection filters) ???????{ ???????????filters.Add(new ErrorFilter()); ???????} ???}

MVC异常处理(异常捕获)

原文地址:http://www.cnblogs.com/lgxlsm/p/7903478.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved