Utworzony przeze mnie projekt java ma być testowany na 1800 przypadków, a wynik każdego przypadku musi być zgodny ze złotym (pożądanym) wyjściem. Stworzyłem dla tego skryptu perl i uruchomiłem go na cygwin.Zapisuj wyjątki do pliku
Istnieje kilka przypadków, w których zgłaszane są wyjątki, ale są one błędnie uważane za poprawne. Chcę dodać blok catch catch w kodzie java, tak aby w przypadku wyjątku został on przechwycony, a ślad stosu jest drukowany na pliku exception.txt
.
Pseudo Java code:
main()
{
try
{
... //complete code of main()
}
catch (Exception e)
{
FileWriter fstream=new FileWriter("exception.txt");
BufferedWriter out=new BufferedWriter(fstream);
out.write(e.toString());
out.close();
}
}
Ale to zastąpi poprzednią zawartość pliku, a na końcu plik zawiera ostatni zgłoszony wyjątek. W jaki sposób mogę napisać blok catch, aby stackTrace był drukowany, a zawartość pliku była nienaruszona i nie była zastępowana za każdym razem.
Użyj innego constru ctor z FileWriter 'FileWriter (" exception.txt ", true);' – Kayser
Możesz użyć Printstream do stacktrace. Wyjaśniłem, jak w odpowiedzi. – Kayser