Internationalisierung von Exceptions

G

Gast2

Gast
Hallo an alle. Fange gerade mit der I18n von den Exceptions in meinem Programm an.

Daher meine Frage:

Wie löst man das standardmäßig?

Macht man die Unterscheidung welcher Fehlertext dem Nutzer (z.B. in Fehlerdialog) angezeigt bekommt anhand des Exceptions Typs oder steckt als descritpion ein Text drin welcher über properties I18n wird?

Für nen Link der das Thema behandelt wär ich echt dankbar.

PS: Habe gesehen, dass Logger direkt mittels ResourceBundle übersetzen können. Mir gehts jedoch wirklich um Dialoge die angezeigt werden.
 

turtle

Top Contributor
Exceptions sind IMO Hinweise an Developer und sollten nicht internationalisiert werden. Der End-User sollte meiner Meinung niemals einen Stack-Trace zu sehen bekommen! Diese Dinge gehören in ein Log-File, das sich ein Java-Developer anschauen muss.

Anders sieht es mit Dialogen aus. Diese sollen natürlich internationalisiert werden. Hierfür gibt es ResourceBundle.
 
G

Gast2

Gast
Exceptions sind IMO Hinweise an Developer und sollten nicht internationalisiert werden. Der End-User sollte meiner Meinung niemals einen Stack-Trace zu sehen bekommen! Diese Dinge gehören in ein Log-File, das sich ein Java-Developer anschauen muss.

Anders sieht es mit Dialogen aus. Diese sollen natürlich internationalisiert werden. Hierfür gibt es ResourceBundle.

Irgendwie stand das schon alles in meinem Post...

Ich möchte aufgrund von Exceptions Fehlerdialoge anzeigen. Meine Frage war doch eben wie man das I18n. Wird die Description der auslösenden Exceptions als Schlüssel für das ResourceBundle verwendet, oder der Typ der Exception?

Es war nie die Rede davon Stack traces anzuzeigen. Die gehören natürlich nicht in einen Dialog.
 

turtle

Top Contributor
Das ist meiner Meinung nach vom Einzelfall abhängig.

Nehmen wir als Beispiel java.io.FileNotFoundException. Diese könnte beim Laden einer Konfigurationsdatei als auch beim Laden einer normalen Datei geworfen werden.

Da möchtest Du doch wahrscheinlich den User kontext-abhängig daruf hinweisen, dass die Konfigurationsdatei bzw. die normale Datei nicht gefunden wurden. Also referenziert Dein Code den I18N-Text weder über den Exception-Text noch den Typ, sondern über einen Schlüssel, der in Deinem Programm Sinn macht.
 
T

Tomate_Salat

Gast
Das Anzeigen des Dialoges ist ja mehr eine Reaktion auf die Exception. Was du dort anzeigst, würde ich in einer language-Datei festhalten, so wie du es sonst auch machst. Die Exception würde ich mitloggen, wenn du den Exception-Text zeigen willst, kannst du entweder beim Werfen auf den Spracheintrag zurückgreifen oder du hältst es einfach in Englisch oder du schreibst einfach (fatal)Error. Den egal was du schreibst, der Benutzer wird nicht viel mit Anfangen können ;-). In so einem Falle, würde ich aber noch eine Report-Möglichkeit anbieten, welche dir den Stack sendet.
 
G

Gast2

Gast
Das Anzeigen des Dialoges ist ja mehr eine Reaktion auf die Exception. Was du dort anzeigst, würde ich in einer language-Datei festhalten, so wie du es sonst auch machst. Die Exception würde ich mitloggen, wenn du den Exception-Text zeigen willst, kannst du entweder beim Werfen auf den Spracheintrag zurückgreifen oder du hältst es einfach in Englisch oder du schreibst einfach (fatal)Error. Den egal was du schreibst, der Benutzer wird nicht viel mit Anfangen können ;-). In so einem Falle, würde ich aber noch eine Report-Möglichkeit anbieten, welche dir den Stack sendet.

Ich logge grundsätzlich alle Fehler inklusive komplettem Stack Trace in Log files. Sogar system.err und out habe ich in separate Dateien umgeleitet um besonders in der Anfangsphase wirklich alles mitloggen zu können was passiert (auch Runtime errors).

Es geht tatsächlich nur darum dem Benutzer noch einen Fehler Dialog anzuzeigen wo es Sinn macht.

Werde die Dialoge über den Typ referenzieren und entsprechende Zusatzinfos aus meinem Framework laden.

Im Zweifel nur den Hinweis an den User: "Nicht näher spezifizierter Laufzeit Fehler! Bitte senden Sie den Logfile an den Support" oder sowas in der Art (Natürlich I18n).

Damit erledigt!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Internationalisierung I18n in JavaFx? Allgemeine Java-Themen 7
I Internationalisierung von Javaprogrammen und Hilfesystemen Allgemeine Java-Themen 8
X [Java] Internationalisierung / Language codes bestimmen Allgemeine Java-Themen 4
fastjack Internationalisierung/Interpunktion Allgemeine Java-Themen 2
S Zahl konvertieren [Internationalisierung l10n, l18n] Allgemeine Java-Themen 4
A Internationalisierung Allgemeine Java-Themen 43
O i18n (Internationalisierung) Allgemeine Java-Themen 2
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
M Exceptions - wann / wie verwenden? Allgemeine Java-Themen 4
W Exceptions behandeln Allgemeine Java-Themen 16
Kirby.exe Exceptions erklärt Allgemeine Java-Themen 5
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
E Java Editor Problem mit 2er Exceptions Allgemeine Java-Themen 12
B Maven Keycloak library wirft exceptions nach maven package Allgemeine Java-Themen 1
J Exceptions Allgemeine Java-Themen 1
Z Java Exceptions - Auf leeres Feld prüfen Allgemeine Java-Themen 10
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
L Nullpointer Exceptions werden nicht angezeigt Allgemeine Java-Themen 5
V Exceptions Allgemeine Java-Themen 2
G Exceptions mit jre 7u40 Allgemeine Java-Themen 2
S Best Practice verschiedene Exceptions fangen und neue Exception erzeugen Allgemeine Java-Themen 11
E LookAndFeel Exceptions bei UIManager.setLookAndFeel Allgemeine Java-Themen 4
W JavaDoc Runtime-Exceptions: Wie sinnvoll anzeigen? Allgemeine Java-Themen 14
C Threads und Exceptions Allgemeine Java-Themen 7
B Webstart Exceptions Allgemeine Java-Themen 7
R Threads Exceptions von Threads abfangen im ThreadPool Allgemeine Java-Themen 5
S Runtime Exceptions in eine Datei schreiben Allgemeine Java-Themen 7
J JUnit - werfen von Exceptions testen Allgemeine Java-Themen 17
F Alle Exceptions abfangen Allgemeine Java-Themen 4
B Alle Exceptions auf einmal abfangen Allgemeine Java-Themen 4
G log4j - Behandlung nicht explizit abgefangener Exceptions Allgemeine Java-Themen 5
B Logging von Exceptions Allgemeine Java-Themen 7
G Designfrage: Exceptions in Konstruktoren Allgemeine Java-Themen 7
I Exceptions - weder catch- noch finally-Klausel funktioniert Allgemeine Java-Themen 12
M Verwendung von unchecked exceptions & bereits vorhandenen exceptions was priorisieren Allgemeine Java-Themen 3
hdi Verhalten bei nicht behandelten Exceptions Allgemeine Java-Themen 2
H Exceptions und IO Allgemeine Java-Themen 17
B Exceptions? Allgemeine Java-Themen 4
D Throws Exceptions Allgemeine Java-Themen 14
M Verständnisfrage Exceptions Allgemeine Java-Themen 2
V Exceptions als Fehlerbehandlung "missbrauchen"? Allgemeine Java-Themen 10
DEvent Wie behandelt man Exceptions in Iterator? Allgemeine Java-Themen 2
J Verständnisfrage zu exceptions Allgemeine Java-Themen 3
A Junit Exceptions testen Allgemeine Java-Themen 3
R Loading-Thread und Exceptions abfangen. Allgemeine Java-Themen 4
P Exceptions dokumentieren. Allgemeine Java-Themen 6
G Exceptions weiterwerfen Allgemeine Java-Themen 2
T Generics und Exceptions Allgemeine Java-Themen 6
P Exceptions throw Allgemeine Java-Themen 6
F Wann und wie Exceptions einsetzen? Allgemeine Java-Themen 13
J Method.invoke -> Exceptions der Funktion abfangen Allgemeine Java-Themen 5
T Frage zu Exceptions Allgemeine Java-Themen 3
G Java-Exceptions werden nicht ganz angezeigt. Wo ändern? Allgemeine Java-Themen 3
J Probleme mit Exceptions Allgemeine Java-Themen 11
R Exceptions mit aktuellen Programminformationen ausgeben? Allgemeine Java-Themen 2
märliprinz com.sap.dbtech.jdbc.exceptions.JDBCDriverException Allgemeine Java-Themen 2
G Alle Exceptions loggen Allgemeine Java-Themen 4
G Frage zu Exceptions Allgemeine Java-Themen 6
M err oder alle Exceptions eines Programms abfangen Allgemeine Java-Themen 4
G Exceptions ohne Zeilennummer (Unknown Source) Allgemeine Java-Themen 8
T Exceptions im statischem Klassencode Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben