gpt4 book ai didi

java - 每个模块(在多模块 Maven 项目中)是否应该有自己专用的异常?

转载 作者:行者123 更新时间:2023-11-30 05:56:39 24 4
gpt4 key购买 nike

我们有一个多模块 Maven 项目,其中每个模块都有其自己的关联异常。例如,tree-service-module 将具有 TreeServiceException,user-service-module 将具有 UserServiceException,而 login-service-module 将具有 LoginServiceException。

这三个模块都有一个主 Service 类:TreeService、UserService 和 LoginService。 TreeService 中的每个方法都会抛出 TreeServiceException,UserService 中的每个方法都会抛出 UserServiceException,LoginService 中的每个方法都会抛出 LoginServiceException。我们通过记录这些异常并将其抛出调用层次结构来处理这些异常。

这是一个好的设计吗?乍一看,在我看来这些异常(exception)没有用。相反,它们会产生不必要的代码。此外,它们取代了有用的异常,这些异常将被忽略,而有利于这些无用的异常。一种方法抛出不超过一个异常是标准做法,在这种情况下,我们将用一个无用的异常填充该槽。最后,我不确定让类中的每个方法都符合抛出相同异常是否有帮助。

你有什么想法?

最佳答案

我想说这个问题主要是基于意见的。但是,我选择使用三个不同的类。

我的主要论点是,您可以使用ExceptionRuntimeException的其他子类(更适合抛出异常的原因)并利用类的构造函数接受的 message 参数(可选)。

使用这个 message 参数,您可以准确指定抛出异常的模块(如果需要,堆栈跟踪已经告诉您异常是从哪里抛出的)以及任何其他有用的信息关于程序的当前状态。

关于java - 每个模块(在多模块 Maven 项目中)是否应该有自己专用的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53055177/

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