我之前写过一个由7个班级组成的完整成功的程序(Date
,Address
,Time
,Customer
,Course
,InClassCourse
,OnLineCourse
),接口(Invoice
),当然还有测试类(CustomerTest
)。接口Invoice
有一个方法createInvoice
,它在Customer
类中实现。在测试案例中,我创建了3个新客户,添加了他们各自的课程,然后根据他们注册的课程数量,他们注册的课程类型以及课程是否为{{1}来计算他们的学费。 }或InClassCourse
,最后在对话框中打印出信息。客户和课程列表保存在两个单独的数组列表中:
OnLineCourse
使用增强的for循环,我以多态方式遍历ArrayList<Customer> customerList = new ArrayList<Customer>();
ArrayList<Course> courseList = new ArrayList<Course>();
并为每个客户创建了发票。
我现在写了一个额外的课程customerList
,其中包含一个新的客户和课程列表,它将客户数据写入文件 customers.txt ,课程数据写入文件 courses.txt 即可。 CreateFiles
有一个方法CreateFiles
和writeCustomers
。
我不熟悉异常并且还在学习。要修改我的程序,我想添加一个名为writeCourses
的用户指定的异常。如果客户的列表中没有任何课程(我的几个客户未参加任何课程),CustomerNotEnrolledException
课程中的createInvoice
方法将抛出Customer
,然后处理此问题我的测试类中的异常。
我的问题是如果客户没有参加任何课程,我如何在主要处理我的例外,即如何编写试用版块。我需要这样做,因为之后我已经取消了未注册的客户,我将在测试用例中添加方法CustomerNotEnrolledException
,readCustomers
和readCourses
,并使用它们来阅读 customers.txt file和 courses.txt 文件,以创建客户并将其添加到generateInvoice
,以及创建将添加到各自客户的课程。
我已经创建了一个名为CustomerNotEnrolledException的异常类,它扩展了异常:
customerList
createInvoice方法如下所示:
public class CustomerNotEnrolledException extends Exception
{
public CustomerNotEnrolledException()
{
super("Customer not enrolled");
}