Hi @ll!
Wir sollen als Aufgabe eine Exceptionklasse schreiben, die immer vom Programmierer geworfen werden kann, wenn eine RuntimeException geworfen wird. Natürlich soll man solche nicht abfangen, aber so ist nunmal die Aufgabe.
Meine Frage wäre nun: gibt es eine Möglichkeit/Methode herauszubekommen, wo die RuntimeException geworfen wurde. Wir sollen immer wenn eine RuntimeException geworfen wurde alles mitloggen und bei jedem 3. mal automatisch eine Mail mit den Informationen versenden. Ich würde aber gerne in diese Mail reinbringen, in welcher Klasse oder Methode die RuntimeException geworfen bzw. abgefangen wurde, bevor diese dann zu meiner eigenenen Klasse "weitergeleitet" wird.
Hoffe es ist halbwegs verständlich formuliert.
Meine Methode zum ausgeben der Details sieht folgendermaßen aus:
[HIGHLIGHT="Java"]private String getDetails(){
Date date=new Date();
String[] stringArray;
stringArray=new String[3];
for(int i=0; i<3; i++){
stringArray=date+"\n\n"+"Details: "+container.get(i).toString()+"\n\n"+"Message: "+errorMessage+"\n---------------------\n\n\n";
}
return stringArray[0]+stringArray[1]+stringArray[2];
}[/HIGHLIGHT]
Dabei stellt container eine ArrayList dar, in die die RuntimeExceptions reingespeichert werden. Durch die Methode container.get(i).toString() bekomme ich zwar schon annähernd das, was ich wollte, allerdings wird dann immer nur meine eigene Klasse angegeben. Dort wird die Exception aber nicht geworfen.
Vielen Dank schonmal im Voraus
Wir sollen als Aufgabe eine Exceptionklasse schreiben, die immer vom Programmierer geworfen werden kann, wenn eine RuntimeException geworfen wird. Natürlich soll man solche nicht abfangen, aber so ist nunmal die Aufgabe.
Meine Frage wäre nun: gibt es eine Möglichkeit/Methode herauszubekommen, wo die RuntimeException geworfen wurde. Wir sollen immer wenn eine RuntimeException geworfen wurde alles mitloggen und bei jedem 3. mal automatisch eine Mail mit den Informationen versenden. Ich würde aber gerne in diese Mail reinbringen, in welcher Klasse oder Methode die RuntimeException geworfen bzw. abgefangen wurde, bevor diese dann zu meiner eigenenen Klasse "weitergeleitet" wird.
Hoffe es ist halbwegs verständlich formuliert.
Meine Methode zum ausgeben der Details sieht folgendermaßen aus:
[HIGHLIGHT="Java"]private String getDetails(){
Date date=new Date();
String[] stringArray;
stringArray=new String[3];
for(int i=0; i<3; i++){
stringArray=date+"\n\n"+"Details: "+container.get(i).toString()+"\n\n"+"Message: "+errorMessage+"\n---------------------\n\n\n";
}
return stringArray[0]+stringArray[1]+stringArray[2];
}[/HIGHLIGHT]
Dabei stellt container eine ArrayList dar, in die die RuntimeExceptions reingespeichert werden. Durch die Methode container.get(i).toString() bekomme ich zwar schon annähernd das, was ich wollte, allerdings wird dann immer nur meine eigene Klasse angegeben. Dort wird die Exception aber nicht geworfen.
Vielen Dank schonmal im Voraus
Zuletzt bearbeitet von einem Moderator: