gpt4 book ai didi

java - 出于不同目的重用 Exception 类

转载 作者:行者123 更新时间:2023-12-02 05:40:13 26 4
gpt4 key购买 nike

将异常用于与预期目的不同的目的(名称)是否是良好实践?例如,我想要一个类似于“已经存在”的异常,但我发现了异常“EntityExistsException”。这个名字很棒,但似乎是为EntityManager设计的。 。可以使用该类,还是应该创建自己的类?

最佳答案

阅读文档。任何不熟悉您的代码的人都会查看该异常,并且要么了解其文档,要么去阅读它。

在这种情况下,文档说异常(exception)是

thrown by the persistence provider when EntityManager.persist(Object) is called

因此,如果您的代码在其他情况下抛出该错误,那么您的代码与 Java API 不兼容并且存在错误。

我倾向于使用或子类 IllegalStateException对于您的情况,因为这是一个通用异常(exception),被广泛使用,并且“已经存在的事物”的状态属于其规范范围。如果我期望客户端代码将以不同于其他失败状态的方式处理“已存在”状态,那么我将对其进行子类化,否则我不会。

关于java - 出于不同目的重用 Exception 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24581631/

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