Passing Error Code from Exception in c#
本问题已经有最佳答案,请猛点这里访问。
在我的应用程序中,当发生异常时,我需要从业务层传递错误代码。基于错误代码,我需要显示数据库中可用的消息。我想知道如何从BL传递错误代码并在表示层中获取错误代码。对于日志异常,我使用log4net和企业库4.0。
提前谢谢
您可以创建继承自
1 2 3 4 5 6 7 8 9 | public class BusinessException : Exception { public int ErrorCode {get; private set;} public BusinessException(int errorCode) { ErrorCode = errorCode; } } |
也可以使用枚举或常量。我不知道你的错误代码类型。
在业务层中,可以通过以下方式引发异常:
1 2 3 |
所以在您的表示层中,您可以捕获这个异常并根据需要处理它。
1 2 3 4 5 6 7 8 9 10 11 12 | public void PresentationMethod() { try { _bll.BusinessMethod(); } catch(BusinessException be) { var errorMessage = GetErrorMessage(be.ErrorCode); ShowErrorUI(errorMessage); } } |