首页 > 文章列表 > Java中如何最小化使用受检异常的方法?

Java中如何最小化使用受检异常的方法?

java
121 2023-04-27

避免不必要的使用受检异常

检查异常强制调用者处理异常情况,因为如果没有,编译器会抱怨。过度使用检查异常会给调用者带来处理异常情况的负担。所以必要时应该使用受检异常。使用受检异常的经验法则是,当无法通过检查前提条件避免异常时,调用者可以采取一些有用的操作来处理异常。

常用的运行时异常本身就是不要过度使用检查异常的例子。在常见的运行时异常有:ArithmeticExceptionClassCastException异常,抛出:IllegalArgumentExceptionIllegalStateException异常,IndexOutOfBoundExceptionsNoSuchElementException异常,和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);
  }
}