如何创建一个for语句来处理我的异常

时间:2015-02-28 23:28:39

标签: java for-loop arraylist exception-handling throws

我之前创建了一个程序,其中包含一个customerList,它通过courseList向每个客户添加了课程。现在我必须修改程序(有一个新的客户列表),如果一个客户没有注册任何课程,就抛出一个名为CustomerNotEnrolledException的异常。

我从createInvoice类中的Customer方法抛出异常,并在测试类中处理它。我的问题是:

如何编写for循环来检查每个客户中的这些课程。

我之前声明的两个数组是:

ArrayList<Course> courseList = new ArrayList<Course>();
ArrayList<Customer> customerList = new ArrayList<Customer>();

1 个答案:

答案 0 :(得分:0)

根据您的构思方式,它可能非常简单 您可以在构造中检查调用代码是否提供了非空的课程列表,或者您可以使用检查它的方法。如果课程列表为null或为空,则抛出异常

实施例: 在createInvoice方法中,您可以在进一步处理之前调用checkCourseEnrollment()

 public class Customer {
    private List<Course> courses;

    public Customer() {}
    public Customer(List<Course> courses) throws CustomerNotEnrolledException {

        // Check here if the constructor receives any course list
        // If not trigger the exception 

        if (null == courses || courses.size() == 0) {
            throw new CustomerNotEnrolledException(/* potential parameters here */);
        }

        // continue constructor initialization process here
        this.courses = courses;
    }

    public void checkCourseEnrollment() throws CustomerNotEnrolledException {

        if (null == this.courses || this.courses.size() == 0) {
            throw new CustomerNotEnrolledException(/* potential parameters here */);
        }

    }

}