注释使用不当使用什么异常

What exception to use for an improper use of annotation

我使用的注解只对最终 classes 有意义(除其他外)。当我处理这个注释时,我想抛出某种异常,表明 class 不是最终的,所以这个注释和 class 的组合没有意义。是否有 Oracle 推荐使用的例外?

您感兴趣的案例是程序员错误地放置了注释的情况。也就是说,程序的文本是错误的。因此,从它派生的 RuntimeException 或 class 是最合适的。

必须是一个未经检查的异常,因为要求程序捕获只能由程序中的错误引起的异常是不合理的;程序无法采取纠正措施,它可能会崩溃并打印堆栈跟踪以帮助程序员调试问题,因此您永远不想捕获异常。

由于任何代码都不应捕获特定类型的异常,否则 class 异常是哪个并不重要。 class 名称仅提供有关故障的一些附加诊断信息。您可以重新利用现有的 TypeConstraintException.