我需要覆盖
UnsupportedEncodingException
为 URLEncoder.encode
但没有得到例外。
我的代码是;
try {
return URLEncoder.encode("!@#", "UTF-8");
} catch (UnsupportedEncodingException e) {
System.out.println("exeption:"+e.toString());
}
上面的代码我尝试了各种输入,但没有得到
UnsupportedEncodingException
。
潜在的“不支持的编码”是指函数中的第二个参数。 “UTF-8”是一种有效的编码,因此您的代码不会抛出错误。 如果你想抛出异常,你可以将其更改为
URLEncoder.encode("!@#", "UTF-9");
,因为 UTF-9
不是真正的编码。
如果您想知道如何处理异常对象您可以在这里了解更多信息。
正如其他人所说,URLEncoder.encode 仅在第二个参数无效时抛出错误。
如果使用字符集 java.nio.charset.StandardCharsets.UTF_8 而不是字符串“UTF-8”,则 URLEncoder.encode 无法抛出 UnsupportedEncodingException,从而无需使用 try-catch 块。
如果没有 try-catch 块,也无需测试它的覆盖率