【问题标题】:Implement Exception Handling in ASP.NET C# Project在 ASP.NET C# 项目中实现异常处理
【发布时间】:2011-02-17 14:43:32
【问题描述】:

我有一个有很多层的应用程序。 如,我有... 表示层(PL)-> 包含所有的 html 我的代码层(CL)-> 有我的所有代码 实体层 (EL) -> 拥有所有容器实体 业务逻辑层 (BLL) -> 具有必要的业务逻辑 数据逻辑层 (DLL) -> 任何针对数据的逻辑 数据访问层 (DAL) -> 从数据库中访问数据的层

现在我想在我的 DLL 中提供错误处理,因为它负责执行诸如 ExecureScalar 之类的语句和所有......

我很困惑如何去做...我的意思是我是否在 DLL 中捕获错误并将其扔回 BLL 并从那里将其扔回我的代码或什么....

谁能帮我实现一个干净简单的错误处理技术

帮助你得到真正的赞赏。

谢谢。

【问题讨论】:

    标签: c# exception-handling error-handling design-patterns


    【解决方案1】:

    您可以查看 MS Enterprise Block 的错误处理和日志记录。在可配置性方面很好。或者 Codelpex (codeplex.com) 是 MS 技术开源项目的社区站点。 Codeplex 也有一些错误处理库。

    【讨论】:

      【解决方案2】:

      在我看来,这完全取决于异常的类型以及您希望对其进行何种处理。

      当然,有些错误需要呈现给用户。如果您的应用程序严重依赖数据库连接并且您的数据库服务器无法访问,您需要“冒泡”(不确定这是否是正确的术语?)您的事件一直到您的 GUI 并让用户知道发生了错误.

      但如果您的应用程序本身可以处理其他错误,您只需将事件“冒泡”到您可以处理它的层。

      如前所述,有很多库可以帮助您轻松处理和记录错误,选择这样的库完全取决于您的项目以及适合您的需求。

      【讨论】:

      • 出于好奇:您所说的可以帮助您轻松处理和记录错误的库是什么意思?例如,我知道 log4net;这就是你的意思(我认为这将更多地出现在“日志”方面)?什么样的库会/可以帮助我处理错误?我之所以问,是因为我正在考虑类似于 OP 问题的问题。
      • 错误处理是程序员的工作。该库或框架(在 log4net 行中)可以帮助您捕获和处理尚未处理的异常。一段好的代码应该能够处理已知异常并生成未知异常。
      【解决方案3】:

      仅处理 DLL 中的所有异常,调用 generateEmail() 通知管理员并仅从 DLL-->BLL-->web-Page 发送用户定义的错误消息并从此处重定向到自定义错误页面

      .on DLL 层生成带有自定义参数的所有异常信息的电子邮件(这是我用于参数的)

      .try catch only in DLL only .不要在任何层上重新抛出异常..糟糕的编程技术 . 从 DLL--BLL--> 网页发送错误消息 .检查是否是错误字段!="" response.redirect("errorUserPage.")

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-11
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-31
        • 1970-01-01
        相关资源
        最近更新 更多