在ASP.NET C#Project中实现异常处理

时间:2010-05-10 10:15:02

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

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

现在我想在我的DLL中提供错误处理,因为它负责执行像ExecureScalar这样的语句....

我很困惑如何去做...我的意思是我抓住DLL中的错误并将其扔回BLL并从那里把它扔回我的代码或什么.... < / p>

任何人都可以帮助我如何实现干净简单的错误处理技术

帮助你真的很感激。

谢谢。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

在我看来,这一切都取决于异常的类型以及你想用它做什么样的处理。

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

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

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

答案 2 :(得分:0)

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

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

.try仅在DLL中捕获 。不要在任何图层上抛出异常。编程技巧 来自DLL的.send错误消息 - BLL - &gt;网页 .check if是errfield!=“”response.redirect(“errorUserPage。”)