Я написал логический метод, который можно вызывать для чтения информации из файла. Если генерируются определенные исключения, метод должен возвращать логическое значение «false». Если нет, он должен вернуть значение «истина». Однако метод всегда возвращает значение «истина», несмотря ни на что. Фактический читаемый файл имеет номер в первой строке (представляющий номер недели), а остальные строки содержат информацию о лечении для одного пациента для каждой строки. Мой код выглядит следующим образом:
public boolean readTreatmentsFromFile(String filename) {
boolean value = true;
try {
FileReader textFileReader = new FileReader(filename);
BufferedReader textReader = new BufferedReader(textFileReader);
System.out.println("READING TREATMENTS FROM FILE: " + filename);
int week = Integer.parseInt(textReader.readLine());
if (week != weekNumber) {
throw new ArithmeticException();
}
String post = textReader.readLine();
while(post != null) {
addPost(post);
if (!addPost(post))
value = false;
post = textReader.readLine();
}
textReader.close();
}
catch (ArithmeticException exception) {
System.out.println("Invalid week number in the file: " + filename);
value = false;
}
catch (FileNotFoundException exception) {
System.out.print("The file cannot be located");
value = false;
}
catch (IOException exception) {
System.out.print("Cannot read the file:" + filename);
value = false;
}
return value;
}
Будем весьма благодарны за любую информацию о том, как мне следует изменить код, чтобы он дал мне правильный логический результат!