检查异常强制调用者处理异常情况,因为如果没有,编译器会抱怨。过度使用检查异常会给调用者带来处理异常情况的负担。所以必要时应该使用受检异常。使用受检异常的经验法则是,当无法通过检查前提条件避免异常时,调用者可以采取一些有用的操作来处理异常。
常用的运行时异常本身就是不要过度使用检查异常的例子。在常见的运行时异常有:ArithmeticException
,ClassCastException
异常,抛出:IllegalArgumentException
,IllegalStateException
异常,IndexOutOfBoundExceptions
,NoSuchElementException
异常,和NullPointerException
异常。
在下面的方法中,当propertyName
不是目标情况之一时,调用者可以做的事情不多,因此抛出运行时异常。
@Override public Object get(String propertyName) { switch (propertyName.hashCode()) { case 842855857: // marketDataName return marketDataName; case -1169106440: // parameterMetadata return parameterMetadata; case 106006350: // order return order; case 575402001: // currency return currency; case 564403871: // sensitivity return sensitivity; default: throw new NoSuchElementException("Unknown property: " + propertyName); } }
以上是如何在Java中避免不必要地使用受检异常?的详细内容。更多信息请关注PHP中文网其他相关文章!