public class NotYetImplementedException extends RuntimeException
{
/**
* @deprecated Deprecated to remind you to implement the corresponding code
* before releasing the software.
*/
@Deprecated
public NotYetImplementedException()
{
}
/**
* @deprecated Deprecated to remind you to implement the corresponding code
* before releasing the software.
*/
@Deprecated
public NotYetImplementedException(String message)
{
super(message);
}
}
这种方法有以下好处: 1.当读者看到NotYetImplementedException时,他们知道一个实现已经计划好了,或者已经忘记了,或者还在进行中,而UnsupportedOperationException说(与收集合同一致)某个东西永远不会实现。这就是为什么我们在类名中有“yet”这个词。此外,IDE可以轻松列出调用站点。 1.通过在每个调用站点上显示弃用警告,IDE和静态代码分析工具可以提醒您仍然需要在何处实现某些内容。(有些人可能会觉得这种弃用是错误的,但实际上是deprecation is not limited to announcing removal。 1.不推荐使用的是构造函数,而不是类。通过这种方式,您只会在需要实现的方法内部获得一个弃用警告,而不是在import行(尽管是JDK 9 fixed this)。
6条答案
按热度按时间v09wglhw1#
Commons Lang有或者你可以扔一个
UnsupportedOperationException
。slsn1g292#
我想
java.lang.UnsupportedOperationException
就是你要找的。tnkciper3#
你可以自己做(我就是这么做的)--为了不被异常处理所困扰,你只需要扩展RuntimeException。你的类可能看起来像这样:
您可以扩展它来获取消息--但是如果您像我一样使用该方法(即,提醒您还有一些东西需要实现),那么通常不需要额外的消息。
我敢说,我只使用这种方法,而我在开发系统的过程中,使我更容易不失去跟踪哪些方法仍然没有正确实现:)
30byixjq4#
如前所述,JDK没有密切匹配。然而,我的团队偶尔也会用到这样的异常。我们可以按照其他答案的建议使用
UnsupportedOperationException
,但我们更喜欢在我们的基础库中使用一个自定义异常类,它具有不推荐的构造函数:这种方法有以下好处:
1.当读者看到
NotYetImplementedException
时,他们知道一个实现已经计划好了,或者已经忘记了,或者还在进行中,而UnsupportedOperationException
说(与收集合同一致)某个东西永远不会实现。这就是为什么我们在类名中有“yet”这个词。此外,IDE可以轻松列出调用站点。1.通过在每个调用站点上显示弃用警告,IDE和静态代码分析工具可以提醒您仍然需要在何处实现某些内容。(有些人可能会觉得这种弃用是错误的,但实际上是deprecation is not limited to announcing removal。
1.不推荐使用的是构造函数,而不是类。通过这种方式,您只会在需要实现的方法内部获得一个弃用警告,而不是在
import
行(尽管是JDK 9 fixed this)。enyaitl35#
不,没有,而且很可能没有,因为它的有效用途很少。我会三思而后行使用它。其实,创造自己也很容易。
请参考this discussion关于为什么它甚至在. NET中。
我猜
UnsupportedOperationException
接近,虽然它没有说操作只是没有实现,但甚至不支持。这可能意味着没有有效的执行是可能的。为什么操作不受支持?它甚至应该在那里吗?界面隔离或Liskov替代问题可能?如果是正在进行的工作,我会选择
ToBeImplementedException
,但我从来没有发现自己定义了一个具体的方法,然后把它放在生产环境中太久,需要这样的异常。gfttwv5a6#
本着Stackoverflow是一个combination of Reddit and Wikipedia的精神,这里有一些额外的信息,这与问题有关,也可以是问题的答案。
当您要求NetBeans IDE创建缺少的实现时,它会使用UnsupportedOperationException:
如果它对NetBeans来说足够好,那么对我们来说也足够好。