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

在ASP.NET C#项目中实现异常处理,c#,exception-handling,error-handling,design-patterns,C#,Exception Handling,Error Handling,Design Patterns,我有一个有很多层的应用程序。 正如我所说,我有。。。 表示层(PL)->包含所有html 我的代码层(CL)->包含所有我的代码 实体层(EL)->包含所有容器实体 业务逻辑层(BLL)->具有必要的业务逻辑 数据逻辑层(DLL)->针对数据的任何逻辑 数据访问层(DAL)->从数据库访问数据的层 现在我想在我的DLL中提供错误处理,因为它负责执行ExecureScalar和all等语句 我不知道该怎么做…我的意思是,我是否在DLL中捕获错误并将其返回到BLL,然后从那里将其返回到我的代码或什么

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

现在我想在我的DLL中提供错误处理,因为它负责执行ExecureScalar和all等语句

我不知道该怎么做…我的意思是,我是否在DLL中捕获错误并将其返回到BLL,然后从那里将其返回到我的代码或什么

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

帮助你得到真正的感激


谢谢。

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

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

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

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


如前所述,有大量的库可以帮助您轻松处理和记录错误,对此类库的选择完全取决于您的项目和适合您的需要。

仅在DLL中处理所有例外,请调用generateEmail()用于通知管理员并仅从DLL-->BLL-->网页发送用户定义的错误消息,并从此处重定向到自定义错误页

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

。请仅在DLL中尝试捕获 .不要在任何层上重新抛出异常..糟糕的编程技术 。从DLL--BLL-->网页发送错误消息
.检查是否为错误字段=“”response.redirect(“errorUserPage”)

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