从Java类的重写方法引发异常

预言

我想扩展Java的HashMap<K, V>类。我重写了该put(...)方法,并且在某些情况下想抛出异常。

由于基类的put方法不会引发异常,因此会出现编译器错误。

最好的解决方案是什么?

谢谢!

他们是

您可以在子类中创建一个不重写的方法put,但在put()必要时调用原始方法这样的方法将被允许抛出您希望的任何异常。

或者,你可以扔掉的未检查异常的一个put已经可以扔掉(UnsupportedOperationExceptionClassCastExceptionNullPointerExceptionIllegalArgumentException)或任何其他未检查异常(尽管这会少些建议,因为他们不会在被记录Map界面)。

Map::putJavadoc:

抛出:

UnsupportedOperationException-如果此映射不支持放置操作
ClassCastException-如果指定键或值的类阻止其存储在此映射中
NullPointerException-如果指定键或值为null且此映射不允许空键或
IllegalArgumentException-如果指定键或值的某些属性阻止将其存储在此映射中

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章