我正在编写一个使用 Java Web Servlet 的应用程序,有几个地方我必须通过在 HttpSession 对象内部设置属性来向客户端返回错误消息:
httpSession.setAttribute("errorMessage", myErrorMessage);
客户端代码将读取该值并将其报告给用户。
为了防止自己拼错“errorMessage”这个词,并避免在客户端造成混淆,我创建了一个辅助方法来封装这行代码:
private void reportError(HttpSession session, String errorMessage)
{
if(session != null)
{
if(errorMessage != null && errorMessage.length() > 0)
{
session.setAttribute("errorMessage", errorMessage);
}
else
{
System.err.println("Could not report error: No error message "
+ "was provided.");
}
}
else
{
System.err.println("Could not report error: No HTTP session was " +
"provided.");
}
}
这允许我在编译时而不是运行时捕获错误。然而,它基本上相当于一个只有一行代码的方法。这是否违反了软件工程原则?
这项技术的效果符合我的预期。我的问题是关于其中的编程。