java 中的本地化异常

Ser*_*kyy 6 java localization

我有一个用于验证用户输入的界面。为了进行验证,我使用了一些标准 Java 验证器和一些自定义验证器。我的自定义验证器在出错时抛出 ParseException 并带有本地化消息。但我不知道Java或第三方lib是否也使用本地化消息。

问题:如何在 catch 块中获取异常是否有本地化消息的提示(标准 Java 方式,而不是自定义异常类/接口)?

ppe*_*rka 4

您可以简单地使用getLocalizedMessage()来显示消息,默认实现只是调用getMessage().

Throwable 类的文档中:

public String getLocalizedMessage()
创建此 throwable 的本地化描述。子类可以重写此方法以生成特定于区域设置的消息。对于不重写此方法的子类,默认实现返回与 getMessage() 相同的结果。

  • @SergiyMedvynskyy恐怕这通常是不可能的......例如,任何代码都可以从验证代码中“抛出新的NumberFormatException(“Nicht gut”)” - 但不可能知道它是哪种语言。另外,还有一个不同的想法:我不会让用户看到任何异常。使用“神奇宝贝”策略:将它们全部捕获,并进行适当处理,如果有需要向用户报告的内容,则以定制的方式进行。 (8认同)