这只是一个普遍的设计问题。如果您正在开发业务组件或服务(例如,公开相对简单的用于处理账单处理事务的接口的对象/服务),那么处理业务相关错误的一些好方法是什么?业务组件与许多不同类型的错误
假设组件/服务必须与几个不同的外部Web服务集成,这些服务都会报告不同的错误,并且还必须在您身边做一些数据库工作。有许多不同的事情可能会出错,无论是网络/数据库方式还是业务规则方面。尝试捕获组件中的所有类型的错误并使用错误代码方案将其报告给调用者,或者尝试将所有错误包装成各种类型的异常并将它们传递给调用者,会更好吗?
这似乎是一个挣扎,因为处理使用异常的业务规则检查很尴尬,而且我已经在几个地方读过,以避免使用异常来控制“非例外”或业务逻辑流。我认为“特殊”往往是一个有争议的术语,它试图将不同情况定义为“例外”与“非例外”之间的粘性。 (例如,如果您的业务逻辑检查支出限额,年龄限制等)。同时,使用错误代码方案也很尴尬,因为调用者可能会选择忽略错误代码。
任何提示或参考将不胜感激!