URL decoding: UnsupportedEncodingException in Java

后端 未结 3 693
说谎
说谎 2020-12-08 18:43

What I understand from the documentation is that UnsupportedEncodingException can only be thrown if I specify a wrong encoding as the second parameter to URLDecoder.decode(S

3条回答
  •  时光取名叫无心
    2020-12-08 18:48

    It cannot happen, unless there is something fundamentally broken in your JVM. But I think you should write this as:

    try {
        value = URLDecoder.decode(keyVal[1], "UTF-8");
    } catch (UnsupportedEncodingException e) {
        throw new AssertionError("UTF-8 is unknown");
        // or 'throw new AssertionError("Impossible things are happening today. " +
        //                              "Consider buying a lottery ticket!!");'
    }
    

    The cost of doing this is a few bytes of code that will "never" be executed, and one String literal that will never be used. That a small price for the protecting against the possibility that you may have misread / misunderstood the javadocs (you haven't in this case ...) or that the specs might change (they won't in this case ...)

提交回复
热议问题