asp.net-mvc-3 – 如何避免在控制器中使用try … catch?
发布时间:2020-12-16 03:58:14 所属栏目:asp.Net 来源:网络整理
导读:我尝试在应用程序的较低层处理我的异常,因为它们可以被处理(记录它们).但是,有一些错误会导致应用程序崩溃,就像参数是NULL一样,并且在这种情况下不应该抛出ArgumentNullException. 如果考虑调用服务层的控制器层.我想避免服务层抛出异常,因为我想在这里处理
我尝试在应用程序的较低层处理我的异常,因为它们可以被处理(记录它们).但是,有一些错误会导致应用程序崩溃,就像参数是NULL一样,并且在这种情况下不应该抛出ArgumentNullException.
如果考虑调用服务层的控制器层.我想避免服务层抛出异常,因为我想在这里处理所有这些(日志记录),但我觉得在这种情况下这是不可能的(如NULL情况). 那么避免在控制器中使用try … catch的最佳方法是什么?或者我应该在控制器中使用try … catch? 解决方法
我更喜欢在
Application_Error方法中处理所有未处理的异常(不应该发生的事情).您可以在此处记录异常,并根据其性质显示正确的错误视图.
自定义模型绑定器,验证器,动作过滤器等??……也可以允许拦截一些异常情况,以避免在任何地方使用try / catch来污染控制器. 对于我打算处理的所有事情,比如业务错误等……使用try / catch没什么问题,甚至更好地使用if语句并让服务层通知你某些操作是成功还是失败(TryXXX模式.) 因此,一如既往,您的问题的答案是:它取决于.这取决于您的应用程序的组织方式,服务层的组织方式,可能发生的错误,您希望明确处理的错误,……许多,很多很多因素,当然还有很多很多,很多可能的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- One to One 的数据库模型设计与NHibernate配置
- asp.net – 如何指定javascript运行时显示ModalPopupExtend
- ASP.NET MVC 3 – 隔离HTML.Raw输出
- asp.net-mvc-3 – MVC 3 Razor Meta描述/关键字
- asp.net-mvc-3 – Azure ACS – 最佳实践实施
- 在ASP.Net 2.0应用程序中检查用户会话状态的状态和大小的最
- asp.net-mvc – 如何在ApiController构造之后但在执行动作之
- asp.net – 如何使用Ajax.BeginForm OnSuccess和OnFailure方
- 什么是在asp.net中301重定向更推荐的方法?
- asp.net-mvc – 为什么实体框架在更新父项时会插入子项?
推荐文章
站长推荐
热点阅读