URL-Dekodierung: Nicht unterstützteEncodingException in Java
Was verstehe ich von der Dokumentation ist, dass UnsupportedEncodingException kann nur ausgelöst werden, wenn ich geben Sie eine falsche Codierung als zweiten parameter URLDecoder.decode(String, String) - Methode. Ist es so? Ich muss wissen Fällen, in denen diese Ausnahme kann geworfen werden.
Grundsätzlich habe ich dieses code-segment in einer meiner Funktionen:
if (keyVal.length == 2) {
try {
value = URLDecoder.decode(
keyVal[1],
"UTF-8");
} catch (UnsupportedEncodingException e) {
//Will it ever be thrown?
}
}
Da bin ich explizit erwähnen, "UTF-8", gibt es eine Möglichkeit, diese exception geworfen werden kann? Muss ich irgendetwas in den catch-block? Oder, wenn mein Verständnis ist völlig falsch, lassen Sie es mich bitte wissen.
InformationsquelleAutor der Frage Hari Menon | 2011-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es kann nicht passieren, es sei denn, es ist etwas fundamental kaputt in Ihrer JVM. Aber ich denke, Sie sollten schreiben dies als:
Die Kosten dies zu tun ist, ein paar bytes von code, der nie ausgeführt werden kann, und ein String-literal, die nie verwendet werden. Dass ein kleiner Preis für den Schutz gegen die Möglichkeit, dass Sie möglicherweise falsch gelesen /falsch verstanden, die javadocs (Sie haben nicht in diesem Fall ...) oder, dass die Spezifikationen ändern kann (Sie wird nicht in diesem Fall ...)
InformationsquelleAutor der Antwort Stephen C
Wegen der ungeraden Wahl zu machen
UnsupportedEncodingException
überprüft. Nein, es wird nicht geworfen werden.Normalerweise mache ich wie folgt:
InformationsquelleAutor der Antwort Bozho
In Ihrem speziellen Fall - Nein, es wird nicht geworfen werden. Es sei denn, Sie führen Ihren code in einer Java-Laufzeitumgebung nicht unterstützt "UTF-8".
InformationsquelleAutor der Antwort Andreas_D