【问题标题】:Handle exceptions over class library without Try Catch在没有 Try Catch 的情况下处理类库的异常
【发布时间】:2013-07-10 07:05:09
【问题描述】:

我正在使用 ASP.NET MVC 4、.Net 4.5、Windows Azure。我使用 OnException() 控制器基类方法在 Frontier(Web Application) 中没有编写 try catch 块就处理了所有异常。我正在考虑以类似的方式处理中间层(BLL,DAL)中的所有异常,而无需编写 try catch 块,因为数百万行代码已经在没有异常处理的情况下完成。这可能吗 ?寻找建议。

【问题讨论】:

  • 没有什么是不可能的。你如何处理这种情况完全取决于你。
  • 为什么要处理 BLL 和 DAL 中的所有 esception?一般来说,你应该让异常冒出来。
  • 在 ASP.NET 中处理顶级异常的常用方法是使用 Application_Error 事件。这也将捕获来自非控制器请求的所有异常。
  • 感谢您的回复,我从 MSDN 论坛获得了解决方案。以下链接足以做msdn.microsoft.com/en-us/library/…
  • 请确保它在MVC web应用程序中是可行的。

标签: .net c#-4.0 asp.net-mvc-4 azure


【解决方案1】:

有许多异常处理框架可以拦截异常并执行各种任务(记录它们、发送通知邮件等......)

ELMAH 是您的 Web 应用程序的一个不错的选择,尽管听起来您已经涵盖了这一方面。

您还可以查看 Microsoft Patterns & Practices Enterprise Library Exception HandlingLogging

不过,一般来说,最好将异常返回到调用最高的应用程序块,并让它在一个地方处理应用程序日志记录。

【讨论】:

  • 能否请您给出一些冒泡异常的方法?
猜你喜欢
  • 2011-08-25
  • 2012-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多