知识卡片
异常按架构分层:领域层只抛不捕,应用层捕获转译
内容
可为异常划分层次并建统一层超类:领域层DomainException,应用层ApplicationException。领域层对异常“只抛出,不捕获”,把隐患交给外层;应用服务“捕获底层异常,抛出应用异常”,保证异常统一性与代码健壮。
参考来源
- 位置:《解构领域驱动设计》15.3.3(源文件:_epub-src/OEBPS/027.xhtml)
- 结论依据:给出跨层异常处理的分工原则。
- 原始内容:在编写领域层的代码时,对异常的态度为“只抛出,不捕获”……应用服务对待异常的态度迥然不同,采用了“捕获底层异常,抛出应用异常”的设计原则。