Exception-Handling

naeko

Mitglied
Hallo,
ich würde gerne eine eigene Exception-Klasse schreiben in der ich die Fehlermessages in eine Datei ablege (so ne art logging)

die Aufrufe sollen folgendermaßen aussehen:
if(a==1)
new MyOwnException("Zahl ist 1");
if(a==2)
new MyOwnException("Zahl ist 2");
if(a==3)
new MyOwnException("Zahl ist 3");

und MyOwnException-Klasse bekommt dann im Konstruktor Methode writeError, wo die message (Zahl ist 1,Zahl ist 2....) in eine Datei geschrieben wird. Das Problem ist bei mir, dass ich immer nur eine (besser gesagt letzte) Message im Log-File habe, weil ja die den Rest überschreibt.
Wie kann man das so bewerkstelligen, dass ich alle Fehlermeldungen angezeigt bekomme?
 
Du kannst dem OutputStream einfach einen boolean mitgeben, der ihm sagt, dass er anhängen soll!

Java:
public FileOutputStream(String name, boolean append) throws FileNotFoundException

Gruß
BlackMagician
 
ok......prima
funktioniert.
wenn ich aber mein projekt mehrmals starte, dann bleiben in meinem log-file auch die alten nachrichten stehen. Kann man die Datei irgendwie ersetzen und nicht in die bestehende reinschreiben?
 
Eine Möglichkeit wäre vielleicht, eine boolsche Membervariable einzuführen, die man zum Projektstart auf false setzt. Beim Öffnen des FileOutputStreams wird dem Konstruktur diese Variable für den append-Parameter mit übergeben, die existierende Datei wird überschrieben. Danach wird die Variable auf true gesetzt und beim nächsten Öffnen des FileOutputStreams wird ein true als append übergeben und die nachfolgenden Logs angehängt.
Dies setzt jedoch voraus, dass nach jedem Schreiben der Logs der FileOutputStream geschlossen wird und vor dem Schreiben des nächsten Logs wieder geöffnet wird.

Gruß
Herr Ritschwumm
 
Zurück