Java 异常命名约定

2022-09-01 23:48:35

在Java中,使用“非法”(如)与“无效”(如)之间是否存在语义差异?IllegalArgumentExceptionjavax.activity.InvalidActivityException

在赋值过程中,编写一个子类来表示一系列无法标记化的输入字符变得很有用,我想知道约定是否说使用或.IllegalArgumentExceptionInvalidTokenExceptionIllegalTokenException

到目前为止,我能找到的唯一区别是,似乎更喜欢“非法”,而更喜欢“无效”。但是,还有 一个是 的子类。java.langjavax.*java.security.InvalidParameterExceptionIllegalArgumentException


答案 1

您可以合法使用API,但仍然有无效数据;这都是语义学。


答案 2

javax.activity.InvalidActivityException是继承自的,您可能不希望此依赖项。另请参阅 Javadocjava.rmi.RemoteException

编辑 无效和非法都是同义词,它在语义上没有区别,只是上面提到的技术问题。

编辑:来自Postgres文档第45.3.14节。要避免的棘手词语:

非法。“非法”代表违法行为,其余为“无效”。更好的是,说出为什么它是无效的。