Java异常返回类型及空数组校验复用方法问题咨询
Java异常与数组校验方法的问题解答
关于Java异常的返回类型
Java中,当方法抛出异常时,方法执行会立即中断,不会产生返回值,因此不存在“异常的返回类型”这一概念。异常是一种流程中断机制,用于通知调用者出现异常情况,而非方法的返回结果。
实现数组校验方法的正确方式
你的代码存在两处需要修正的地方,调整后即可实现复用的数组空校验:
- 调用校验方法时必须传入要校验的数组参数
- 校验方法的返回类型设为
void(表示该方法不返回任何值)
修正后的完整代码示例
public int addAll(int[] integers) { throwExceptionForNullArray(integers); // 传入待校验的数组 int sumOfAllIntegers = 0; for (int integer : integers) { sumOfAllIntegers += integer; } return sumOfAllIntegers; } // 返回类型为void,仅负责校验并抛出异常 public void throwExceptionForNullArray(int[] integers) { if (integers == null) { // 修正错误信息,使其与校验逻辑匹配 throw new IllegalArgumentException("Null array is not allowed"); } }
扩展:同时校验数组为null和空数组
如果需要同时禁止null数组和长度为0的空数组,可以扩展校验方法:
public void throwExceptionForInvalidArray(int[] integers) { if (integers == null) { throw new IllegalArgumentException("Null array is not allowed"); } if (integers.length == 0) { throw new IllegalArgumentException("Empty array is not allowed"); } }
这样你的加减乘除方法都可以调用这个统一的校验方法,完全避免重复代码。
内容的提问来源于stack exchange,提问作者santa_cloudy
相关产品推荐
相关产品推荐

