gpt4 book ai didi

java - java中的异常冒泡模式

转载 作者:行者123 更新时间:2023-11-30 03:21:22 24 4
gpt4 key购买 nike

假设我的应用程序代码是结构是层。

例如
第一层是客户端服务层。
其次是验证层
第三是自定义业务逻辑层。第四层是核心业务逻辑层。
第五是ORM层。

我们希望在应用程序代码的任何点/级别,如果我们发现无法配置用户发出的请求(可能是由于缺乏所需的数据或任何其他应用程序逻辑约束),并且我们希望抛出错误,该错误应该不会被除顶层之外的任何其他层捕获,以便错误消息能够正确地显示给用户。

为了实现这一目标,我正在考虑创建一个扩展Error的新类。这样它就保持不受检查状态,并且可以跳过任何捕获异常的 try catch block

这看起来是一个不错的策略吗?当我的解决方案违反 javadoc 时,是否有一个 bttern 模式?

Javadoc 解释得很好:

An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions.

enter image description here

最佳答案

不,这是糟糕的策略。一般来说,您几乎不应该扩展 Error。扩展Exception(对于检查异常)或RuntimeException(对于未检查异常)。从较低级别抛出异常来绕过中间的 try-catch block 的想法也是非常糟糕的。中间 try-catch block 设计用于捕获并可能重新抛出异常,并将它们包装在更多面向业务的异常对象中。如果您对中间层的逻辑不满意,请更改该逻辑,不要尝试破解它。

关于java - java中的异常冒泡模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31244413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com