首页 > 解决方案 > 如果作为参数传递的数组中的任何值小于 0,则异常

问题描述

尝试:给定示例代码 HW7C 如果作为参数传递的数组中的任何值小于 0,则更改代码以引发 IllegalArgumentException 异常。更改声明,以便调用此函数的程序员被迫处理此 IllegalArgumentException。

(不标记为不正确,出现为 HW7C 不正确)到目前为止尝试的代码:

public int HW7C (int numbers[]) {

//iterate through all elements in numbers array

if(numbers.length > 0 ) {

    for (int number : numbers) {
        if(number < 0) {
            throw new IllegalArgumentException();
        }
    }
}

return 0;

}

标签: javaprocessing

解决方案


您必须抛出已检查的异常。如果必须命名抛出的异常,IllegalArgumentException则创建您自己的异常类,该类扩展Exception并简单地命名它IllegalArgumentException

package org.yourorgname.exception;

public class IllegalArgumentException extends Exception {
    //class body
}
public int HW7C (int numbers[]) throws org.yourorgname.exception.IllegalArgumentException {

   //iterate through all elements in numbers array

    if(numbers.length > 0 ) {

        for (int number : numbers) {
            if(number < 0) {
                throw new org.yourorgname.exception.IllegalArgumentException();
            }
        }
    }

    return 0;
}

推荐阅读