2009-06-01 68 views
2

在BLL中返回业务规则错误的最佳做法是什么?我应该只是提出异常并在表示层中捕获它们,我会返回某种包含任何异常类型信息的对象吗?BLL错误最佳实践

回答

2

“返回”这个词在这里很棘手。

多层设计的主要优点是正交性。您应该能够从完全不同的用户界面调用BLL中的类,而不是您当前使用的用户界面,并且完全不同地处理日志记录。

如果能够在没有用户干预或通知的情况下处理异常,通常应该在BLL中这样做。如果该异常需要引起用户的注意或记录,让它冒泡到UI,UI可以实现通知和日志记录,而无需在BLL中构建这样的事情。

+3

在单个BLL异常类型(MyDatabaseException)中包装多个异常(InvalidCastException,SqlException等等)也是一个好主意,因此使用该库的人不必在每次调用时捕获十五种不同类型的异常。 – Will 2009-06-01 15:54:05