Создание класса TestBook и создавать тестовые случаи тестового класса Bookобращения с попытаться поймать
Не обрабатывать любое исключение в этой фазе исключения, просто передать их в метод вызывающего абонента.
Приведенная выше инструкция означает класс моего тестировщика, TestBook должен иметь основной метод «throws ParseException», и когда я запускаю свою программу с «ошибкой», это не должно разрушаться, вместо этого должно быть исключение ...?
public class TestBook{
public static Book directory=new Book(); //Book contains an arraylist of dates
public static void main(String[] args) throws ParseException {
directory.addApt("01-04-1996","testdate");
//this will create an instance of a Apt and is in the INCORRECT format.
}
Метод addApt из класса Book выглядит следующим образом:
String[] dates=date.split("-");
if(dates[0]!=2)
throw new ParseException("incorrect format day should be in numbers,2);
if(dates[0]!=3)
throw new ParseException("incorrect format month should be in letters,2);
if(dates[0]!=4)
throw new ParseException("incorrect format year should be in numbers,2);
Apt newAppt=new Apt=(date,type);
Когда я запускаю это, я получаю сообщение об ошибке: Исключение в потоке «основного» java.text.ParseException: неправильный формат , месяц должен быть в буквах.
Но мой вопрос в том, почему это проявляется, так как я его бросаю, почему он обрабатывает это так? я предполагаю, что я запутался о броске (ы) против попробовать/поймать ..
Вы указали, что выбрали ParseException из main без его обработки. – shazin
Я уверен, что этот код не компилируется. Вы имели в виду «даты [0] .length! = 2'? Тогда это должны быть «даты [0]», «даты [1]» и т. Д. –