【发布时间】:2012-05-31 16:24:12
【问题描述】:
在库方法中调用 String.getBytes("UTF-8") 时处理UnsupportedEncodingException 的推荐方法是什么?
如果我正确阅读 http://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html,UTF-8 编码应该始终可用,这使我相信没有理由将此异常传递给图书馆的使用者(也就是说,在方法签名中添加throws 子句)。似乎任何使 UTF-8 编码设施不可用的故障模式都是灾难性的,导致我编写了这个处理程序:
try
{
....
return "blah".getBytes("UTF-8");
}
catch (UnsupportedEncodingException e)
{
// we're assuming UTF-8 encoding is always available.
// see
// http://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html
e.printStackTrace();
return null; //prevent compile-time "method must return a result" errors
}
是否存在此 sn-p 无法解决的故障模式?
【问题讨论】:
-
这个问题不是重复的,因为它应该是重复的问题涉及 URL 编码/解码。我投票重新开放。
标签: java string character-encoding