Java中如何避免不必要的受检异常使用?
避免不必要的使用受检异常检查异常强制调用者处理异常情况,因为如果没有,编译器会抱怨。过度使用检查异常会给调用者带来处理异常情况的负担。所以必要时应该使用受检异常。使用受检异常的经验法则是,当无法通过检查前提条件避免异常时,调用者可以采取一些有用的操作来处理异常。常用的运行时异常本身就是不要过度使用检查异常的例子。在常见的运行时异常有:ArithmeticException,ClassCastException异常,抛出:IllegalArgumentException,IllegalStateExcept
避免不必要的使用受检异常
检查异常强制调用者处理异常情况,因为如果没有,编译器会抱怨。过度使用检查异常会给调用者带来处理异常情况的负担。所以必要时应该使用受检异常。使用受检异常的经验法则是,当无法通过检查前提条件避免异常时,调用者可以采取一些有用的操作来处理异常。
常用的运行时异常本身就是不要过度使用检查异常的例子。在常见的运行时异常有: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);
}
}
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















