Я пытаюсь записать текст в файл, используя FileWriter. Программа запускается без каких-либо исключений, кроме тех, для которых она предназначена (запись в файл является частью создания исключения), но файл остается пустым. Файл находится в том же каталоге, что и файл .java, содержащий исключение, и файл .java, который вызывает исключение.
Я сбрасываю и закрываю объект FileWriter надлежащим образом, он находится в блоке try / catchэто должно быть печать любых исключений, с которыми сталкивается код, я попытался использовать PrintWriter с FileWriter в качестве параметра, и другие части метода определенно выполняются.
NegativeBalanceException() throws IOException{
super("Error:negative balance");
try {
FileWriter logger = new FileWriter("logfile.txt", false);
logger.write("Error:negative balance");
logger.flush();
logger.close();
}
catch(Exception e) {
e.printStackTrace();
}
}
Я ожидаю, что файл будет содержать сообщения«Сумма превышает баланс на -100,0» и «Ошибка: отрицательный баланс». Исключение определенно создается, и я могу вызвать для него функцию getMessage (), чтобы напечатать два вышеупомянутых сообщения. Тем не менее, файл начинается пустым и остается пустым после завершения программы.