Was ist der empfohlene Weg, um eine nicht unterstützteEncodingException beim Aufruf zu behandeln String.getBytes ("UTF-8") innerhalb einer Bibliotheksmethode?
Wenn ich Ссылка richtig lese, UTF -8 Codierung sollte immer verfügbar sein, was zu der Annahme führt, dass es keinen Grund gibt, diese Ausnahme an den Consumer der Bibliothek weiterzugeben (das heißt, fügen Sie der Methodensignatur eine throws
-Klausel hinzu). Es scheint, dass jeder Fehlermodus, der die UTF-8-Kodierung unmöglich macht, katastrophal ist und mich dazu bringt, diesen Handler zu schreiben:
Gibt es einen Fehlermodus, der in diesem Snippet nicht behandelt wird?
Weißt du, was ich tue?
%Vor%Dieser wird keine geprüfte Ausnahme ausgelöst.
Update : Seit Java 1.7 haben wir StandardCharsets .
%Vor%Ich bin über diese Frage gestolpert und habe versucht herauszufinden, ob UTF-8 immer verfügbar ist. Also danke für den Link.
Ich stimme zu, dass es keine Notwendigkeit für eine checked Ausnahme gibt, wenn es um das Codieren und Decodieren mit einem bestimmten Zeichensatz geht, der garantiert verfügbar ist. Wenn der Zeichensatz eine Variable war, die übergeben wurde, würde ich wahrscheinlich UnsupportedEncodingException auslösen.
Das mache ich in einem ähnlichen Stück Android-Code:
%Vor% CharEncoding.UTF_8
ist nur die Stringkonstante von Apache Commons für "UTF-8".
Der Vorschlag von Judge Mental, StandardCharsets.UTF_8
zu verwenden, ist großartig, aber für diejenigen von uns, die Android-Entwicklung betreiben, ist sie nur für SDK 19 (KitKat) und höher verfügbar.
Tags und Links string java character-encoding