Sie können eine Ausnahmeklasse deklarieren, die WideString
statt string
verwendet. Ein hervorragendes Beispiel dafür finden Sie in der TNT Unicode-Bibliothek. Diese Bibliothek führt nicht nur eine Unicode-Ausnahmeklasse ein, sondern stellt auch alle zugehörigen Scaffoldings bereit, die erforderlich sind, damit die Ausnahmebehandlungsmechanismen mit Unicode-Ausnahmen umgehen.
Angenommen, eine ausgelöste Ausnahme erreicht den Exception-Handler der obersten Ebene. Sie möchten Unicode-fähig sein, und die TNT-Bibliothek stellt dies sicher. Oder Sie möchten, dass Betriebssystemfehler lokalisiert werden. Auch hier ist etwas zusätzlicher Aufwand erforderlich und die TNT-Bibliothek kümmert sich darum.
Mein Rat ist, dass, wenn Sie mit Unicode in Ihrer Anwendung in einem Pre-Unicode-Delphi arbeiten möchten, sollten Sie die TNT Unicode-Bibliothek übernehmen. Wenn Sie es aus irgendeinem Grund nicht übernehmen können, verwenden Sie zumindest seinen Quellcode zur Inspiration in Ihrer eigenen Kodierung.
Sie müssen Ihre eigene Exception-Klasse verwenden, die WideString-Nachrichten unterstützt. Sie müssen diese Ausnahmen selbst behandeln. – kobik
Siehe auch [Behandeln einer Unicode-Zeichenfolge in Delphi-Versionen <= 2007] (http://stackoverflow.com/q/383195/576719). –