Простой способ отформатировать вывод так, как вы хотите, - просто поместить блок try-catch
туда, где вы вызываете метод evaluatePostfix()
(, обязательно удалите блок try-catch
, который находится внутриevaluatePostfix()
method ):
System.out.println("\n");
try (BufferedReader filereader2 = new BufferedReader(new FileReader("Problem2.txt"))) {
while (true) {
String line = filereader2.readLine();
if (line == null) {
break;
}
try {
System.out.println(evaluatePostfix(line));
} catch (EmptyStackException e) {
System.out.println("Ill-formatted");
}
}
}
Таким образом, когда исключение возникает внутри метода evaluatePostfix()
, метод сгенерирует исключение, и исключение будет обработано вне цикла,таким образом, избегая дублирования сообщений об ошибках и других нежелательных эффектов.