ASP.NET MVC 异常处理

记录ASP.NET MVC中的几种异常处理方案 ASP.NET MVC中的异常处理: 使用框架自带的[HandlerError(“~/View/Shared/Error.cshtml”)]过滤器进行处理 使用方式: 1.在项目根目录的appconfig中配置如下节点 mode设置属性有 on off remoteonly,分别解释为发生异常时,显示自定义错误页面(客户端and服务端),不显示(客户端and服务端),客户端显示自定义页后台显... 阅读详情
1. 友好的提示信息:
当网站 运行 出错时,不能将 原本的异常 信息 直接显示出来,这样很不友好,用户也看不懂;而且,异常信息会显示出调用堆栈,会影响网站的安全性。

2. 用户访问不存在的页面:
用户完全可以访问 根目录下不存在的页面。这个时候 就会出现异常。

例子: 360 首页,如果出现这种情况会重定向到 首页。而 新浪网会 出现一个 错误页面。

这都是比较好的 处理方法。


3. ASP.NET MVC 如何处理 用户访问不存在的页面:

我们可以在 web.config 里配置 <customerError/> 节,并设置一个默认的 页面,这样如果用户访问 不存在的页面(404),就重定向到这个页面。例如:

    <!--启动 异常处理-->
    <customErrors mode="On" defaultRedirect="Error.html">
      <error statusCode="404" redirect="Error.html"/>     
    </customErrors>

<customerError> 的 mode 可以 设置 是否处理异常。如果设置为 "RemoteOnly" ,则 在服务器 可以看到出错的 调用堆栈,而客户端浏览器 看到的是 错误 页面。

不过这个页面只能放在 网站的根目录下。

我们可以 定义一个 控制器操作(或者是 网站的首页),当出现 异常时,就导航到这个操作。

    <!--启动 异常处理-->
    <customErrors mode="On" defaultRedirect="Test/index">
      <error statusCode="404" redirect="Test/index"/>     
    </customErrors>

4. 日志处理:

使用 上面的做法,我们基本可以处理所有的错误信息了。<error/> 里可以设置 statusCode, 然后导航到 你自己定义的页面。但有时候这样还不能完全满足需求,比如我们需要 记录错误日志,以方便开发人员 调试修改。

可以在 以上的基础上加入 如下操作,进行日志记录:

1. 使用 Filter 标记属性,我们可以自定义 异常处理类(LogAttribute),派生自 FilterAttribute,IExceptionFilter ,然后 实现 OnException 方法,在  这个方法里面,将错误 信息 写入数据库 或者 本地文件。

  在 FilterConfig 里注册这个 标记属性 后,就可以 标记 Controller 或 Action。

  如:(这里只是简单演示)


    string path = AppDomain.CurrentDomain.BaseDirectory + @"/Exception/Log.txt"; //也可以保存到数据库
    StreamWriter writer = File.AppendText(path);
    writer.Write("\r\n" + filterContext.Exception.Source + ":" + filterContext.Exception.Message);
    writer.Close();    

2. 使用 自定义 Controller, BaseController 派生自 Controller ,并重写 OnException 方法,在这个方法里面,将错误 信息 写入数据库 或者 本地文 件。以后要处理异常的类 就直接 派生自 BaseController 即可。

  

    对于 要 记录日志的 异常 才 使用以上两种方法。

 
电路课设-音响分频器电路设计 (一)题目简介 1.一阶分频器电路设计 假定高音和低音扬声器均等效为 16 欧姆电阻,设计如图 2 的简单分频器电 路,要求高低频分界(两个滤波器的截止频率)为 5kHz。 1) 写出高音扬声器和低音扬声器电压对于 vs 的传递函数,确定电路中电 容 C 和电感 L 的元件值;2)利用 AC 频率扫描分析求出两个扬声器电压的频率响应曲线,验证计算 结果。用包含高低频成分的电压 vs 激励进行测量验证。 3)计算并利用 EWB 仿真证明从 vs 看进去的阻抗为一常数 16 欧姆。 阅读详情

相关推荐

EXCEL VBA 导出高清图片方法

EXCEL VBA 导出高清图片方法 将EXCEL表格内容另存为图片的方法有很多种,简单的比如“复制为图片格式并另存”,“打印成XPS”等等,本文着重的是利用VBA实现的方法。 该方法适合用于中大型图文表格输出为图片格式,方便传阅,在office2010及以上版本最为流畅。 具体看代码: Sub printA4() Dim rng As Range '定义截图范围变量 'm = 20...

nfser_burn7的专栏 1万+

ASP.NET MVC Web 错误处理

一.使用Web.config进行配置 1.在<system.web>节点中 <customerErrors defaultRedirect="~/ErrorPage.html" mode="RemoteOnly"> <error statusCode="500" redireact="~/InternalErro.html"/> <error st...

CJY8080的博客 341

Unity 接入HybridCLR的点点滴滴,亲测三平台(PC、Android、WebGL)妥妥的。-问题分享

一入热更深似海啊,没有热更是真恼火啊,干啥啥不方便,动不动就得重新发包;说实在的,也是工作之余研究这个,在原有框架基础上接入这个热更,既要保持原有功能,还要支持热更,实实在在、断断续续搞了这么久,终于是接入并测通了,这一路是坎坎坷坷,下面把走过的弯弯绕绕记录下,希望对后来想接入的小伙伴有帮助吧。

GarFe的博客 1万+

[ASP.NET MVC]Ajax与CustomErrors的尴尬

在ASP.NET程序中,为了给用户显示友好的错误信息,通常在web.config中进行如下的设置: &lt;customErrors mode="RemoteOnly" defaultRedirect="/error/error.htm"&gt; &lt;/customErrors&gt; 但如果是一个ajax请求在服务端发生了错误,将遭遇一个尴尬。我们就遭遇过这样的尴尬,见下图: ...

weixin_34408717的博客 206

普通人如何上岸华为OD-面试总结

总共有3道算法题,100分值的两道,200分值的一道,不同的毕业院校和专业,通过机试的分值不一样,最少需要150分通过,提前和hr联系,了解自己需要多少分通过。重中之重:哪怕你是背的题库,也请你一定不要直接抄原来的,最好是变更下方法名,否则会判定你重复率过高,从而失去后面的面试机会(实在是不会做再用此方法,凑分数所用,面试官能看到你的代码,会影响你的面试评价)本人女,所以还问道了婚育计划,有对象这点可以说,没有问题,但是如果可以的话,生孩子的时间,可以给hr说这几年不考虑。如果说没有难题,直接就挂了。

weixin_47767264的博客 5450

安卓无障碍服务保活实战:如何用AccessibilityService实现后台常驻(附完整代码)

本文深入解析如何利用Android无障碍服务(AccessibilityService)实现后台服务保活,涵盖多版本系统适配、前台服务集成、开机自启机制等关键技术。通过详细的Kotlin代码示例和合规性指导,帮助开发者构建稳定可靠的后台服务解决方案,同时避免因滥用无障碍服务导致的应用下架风险。

milk5的博客 1070

Spring MVC 处理异常

Spring提供了多种方式将异常转换为响应 特定的Spring异常将会自动映射为指定的HTTP状态码 异常上可以添加@ResponseStatus注解,从而将其映射为某一个HTTP状态码 在方法上可以添加@ExceptionHandler注解,使其用来处理异常 1. 将异常映射为HTTP状态码 @ResponseStatus(value = HttpStatus.NOT_FOUND, rea...

sakuragio的博客 189

Android实现TextToSpeech控件实现语音播报--朗读文字 (附完整源码)

Android实现TextToSpeech控件实现语音播报--朗读文字 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1116

Abp Core框架引用第三方类库的坑

Abp框架引用第三方类库的坑引用第三方类库的坑简介ERROR 2018-05-01 11:35:21,047 [10 ] Mvc.ExceptionHandling.AbpExceptionFilter - Could not load file or assembly 'aliyun-net-sdk-core, Version=2.0.0.0, Culture=neutral, Publ...

fqydhk的专栏 3546

QT 实现QStackedWidget切换页面右移动画

首先截取当前界面的图片,渲染到一个QLabel上,然后设置QPropertyAnimation动画,动画的作用对象就是这个QLabel,不断的改变geometry;当动画结束的时候,隐藏并释放这个QLabel。以下是一个QStackedWidget,放了两个QPushButton在上面,点击切换不同的界面。为了方便查看动画特效,设置了每个界面的背景图片。

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 881

【k8s故障处理篇】calico-node启动失败“Felix is not live: Get “http://localhost:9099/liveness” 解决办法(V1.30.3版本)

【k8s故障处理篇】calico-node启动失败“Felix is not live: Get “http://localhost:9099/liveness” 解决办法(V1.30.3版本)

jks212454的博客 1090

Mvc.ExceptionHandling.AbpExceptionFilter - Error mapping types

IgnoreAttribute 不管用 C# AutoMapper忽略 Dto 某些属性 到实体 报错:Mvc.ExceptionHandling.AbpExceptionFilter - Error mapping types 找到 Module文件 Configuration.Modules.AbpAutoMapper().Configurators.Add(config => { config.CreateMap<C..

Martin 的博客 2363

遇到一个诡异的WiFi网络问题:同一个办公室苹果电脑上不了网,其他电脑都可以

先来把问题掰开揉碎地看清楚:在一个普通的办公室WiFi网络中,所有设备——Windows电脑、安卓手机、甚至是那台老旧的Linux服务器——都能正常联网,唯独苹果电脑(可能是MacBook、iMac或者Mac mini)像被下了魔咒一样,连不上网。这种情况不仅让人抓狂,还透着一股神秘感。为什么偏偏是苹果电脑?难道WiFi路由器对苹果有“偏见”?这些症状都指向一个核心问题:苹果电脑与办公室WiFi之间,似乎存在某种“沟通障碍”。但这障碍到底出在哪里呢?是苹果电脑自己的问题,还是网络设置在“针对”它?

网络技术联盟站 835

ASP.NET mvc异常处理的方法有哪些

1.首先常见保存异常的类(就是将异常信息写入到文件中去)   public class LogManager { private string logFilePath = string.Empty; public LogManager(string logFilePath) { this.logFilePath =

whaxrl的专栏 759

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ASP.NET MVC异常处理方案

ASP.NET MVC异常处理

qq_41946341的博客 542

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ASP.NET MVC3 异常处理

ASP.NET MVC3 异常处理 在ASP.NET MVC中可以使用HandleError特性很容易的实现错误的处理。 使用HandleError Attribute,并且在web.config中设置CustomErrors,当程序中有未处理的异常时,可以定向到一个友好的视图页面。 首先,我们通过反编译HandleError中的OnException方法,看一看是如何实

东亮博客 5668

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ASP.NET MVC下基于异常处理的完整解决方案

ASP.NET MVC下基于异常处理的完整解决方案 2012年01月10日   EntLib的异常处理应用块(Exception Handling Application Block)是一个不错的异常处理框架,它使我们可以采用配置的方式来定义异常处理策略。而ASP.NET MVC是一个极具可扩展开发框架,在这篇文章中我将通过它的扩展实现与EntLib的集成,并提供一个完整的解决异常处理解...

cgp681ws 190

asp.net mvc 的异常处理解决方案

应用程序发生异常时,给用户一个友好的处理方式,同时将异常记录下来并通知系统管理员或是运维人员是应用的开发的常用场景。web form上微软提供了一个工具包,关于这个工具包参看推荐一个工具包自定义HTTP 404错误。如何在asp.net mvc上实现这样的功能呢?asp.net mvc 在创建项目的时候在Views的Shared目录下有一个错误处理页Error.aspx视图,这个默认的错误处理功能

shanyou的专栏 2965

ASP.NET MVC异常处理

ASP.NET MVC异常处理方案如何保留异常前填写表单的数据 ASP.NET MVC中的统一化自定义异常处理 MVC过滤器详解 MVC过滤器使用案例:统一处理异常顺道精简代码 ASP.NET MVC下基于异常处理的完整解决方案 转载于:https://www.cnblogs.com/ecollab/p/6234807.html...

weixin_34353714的博客 125

ASP.NET MVC统一异常处理

前言: 今早看了篇文章:求知成瘾,却无作品 的思考;很有感触,发现原来自己也是这样,对每样东西都抱有很大的兴趣或者希望自己去学,一年后发现原来自己什么都是皮毛什么都不精!最终发现真正的大牛都是在某一个领域的大牛,不会是全能的。所以是时候精一下了。 本篇文章来源于今天的另外一篇阅读:《我的软件没bug》作者希望读者写的程序即使已经上线也能快速的发现自己bug而不是等着用户忍无可忍时的反馈,这样让...

weixin_33725807的博客 185

ASP.NET MVC中的统一化自定义异常处理

当ASP.NET MVC程序出现了异常,怎么处理更加规范? 1. 最简单的方法是设置节点 节点用于定义一些自定义错误信息的信息。此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。Mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别如下: O

写代码的蜗牛 2万+

一个简单的ASP.NET MVC异常处理模块

一个简单的ASP.NET MVC异常处理模块

qq_38472451的博客 78
上一篇: 如何使 一个 div 居中显示
下一篇: SQL SERVER 统计 SQL 语句 执行的时间
skyandcode
博客等级 码龄14年 53粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值