在我的应用程序中,我使用获取用户的默认语言环境Locale.getDefault()
,然后将其传递给Currency.getInstance(Locale)
. 它主要工作,但我已经开始从用户那里获得报告,这些报告IllegalArgumentException
在堆栈跟踪中显示以下内容:
原因:java.lang.IllegalArgumentException:不受支持的 ISO 3166 国家:在 org.java.util.Currency.getInstance(Currency.java:81) 的 en_UK。
我希望 Android 只返回有效的语言环境,但显然情况并非如此。
如何处理此类情况以确保我只获得有效的 ISO 3166 语言环境?简单的方法是处理这种特殊情况,但如果有的话,我宁愿使用通用解决方案。
有人有这方面的经验吗?谢谢。