我的实际要求是,如果应用程序无法创建数据库连接,则应在UI中显示“无法创建数据库连接”的错误消息。所以我写了一个抛出用户定义的DBConnectionException
的类。我在ActionMessages
课程中写了以下几行:
ActionMesssages messages = new ActionMessages();
try {
schedule = scheduleDAO.getSchedule();
} catch (DBConnectionException e) {
messages.add("scheduleDelete", new ActionMessage(e.getMessage()));
}
我得到了例外,但看起来像是:
???en_US.Unable to create DB connection???
我收到此信息,因为我的Unable to create DB connection
文件中没有密钥ApplicationResouces.properties
。我的问题是:
在ActionMessage
中是否可以使用字符串而不是键? ActionMessage
的所有构造函数都带有一个键。如何直接将字符串添加到ActionMessages
?或者建议我一个不同的解决方案?
答案 0 :(得分:0)
创建消息,传递密钥,并将异常消息作为替换值传递。
也就是说,即使 是您创建的特定于应用程序的异常,我也会非常谨慎地将异常信息直接传递给用户。 IMO最好将您的异常(用于开发者消费)与您的消息分开,这些消息适用于普通人。