none
Exceptionmeldungen in eigenen Exception-Klassen lokalisieren RRS feed

  • Frage

  • Hallo zusammen,

    ich möchte in mein Windows Phone App für mehrere Länder und dementsprechend Sprachen anbieten. Dabei stellt sich mir jetzt die Frage, wie ich dies bei Exceptions anstelle, denn diese will ich selber im Code werfen und die Fehlermeldung dabei in einem Dialog dem Benutzer präsentieren. Dazu würde ich gerne eine selbst geschriebene Exceptionklasse nutzen, aber auch bei vordefinierten Exceptions wäre es ganz nützlich, das zu wissen.

    Vielen Dank im Voraus und viele Grüße,

    Julian

    Dienstag, 12. August 2014 19:08

Antworten

  • Hallo,
    ich stand mal vor einem ähnlichen Problem. Damals erstellte ich mir eine Resourcendatei (bzw. Anfangs eine XML-Datei), welche sämtliche Fehlermeldungen in allen Sprachen enthielt. Also im Grunde nichts anderes, als wie wenn man andere Dinge übersetzt.

    Da es sich in meinem Fall um eine Klassenbibliothek handelte las ich per CultureInfo.CurrentCulture die Sprache aus und habe entsprechend die Fehlermeldungen in eine statische Auflistung geladen.

    Wenn ich nun eine Exception auslöste, habe ich einfach die Fehlermeldung anhand des Schlüssels abgerufen. Da sah dann in etwa so aus:

    throw new Exception(TranslationManager.ExceptionMessages["MyExceptionMessage#1"]);

    Nun ist die Frage, wie du deine App übersetzt. Denn danach richtet sich das, wie du die Resourcenstrings auslesen kannst.

    Ähnlich macht es auch .NET selbst. Wenn du beispielsweise hier guckst, siehst du wie die Exceptions ausgelöst werden. Es wird je nach Methode eine bestimmte Exception erzeugt und eine Fehlermeldung mit einem bestimmten Schlüssel geladen.


    Tom Lambert - C# MVP
    Bitte bewertet- und markiert Beiträge als Antwort. Danke.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Dienstag, 12. August 2014 19:26