我有几个字段的JSP,其中一个是Date,服务器端是servlet。 我在客户端进行日期检查,我想在服务器端进行日期检查。
我有一个方法可以从字符串转换Date,这是从请求获取的。
public static Date convertToDate (String s) throws ParseException {
return formatter.parse(s);
}
我在try / catch
中使用此方法try {
Date date = Utils.convertToDate(request.getParameter("Date")));
} catch (ParseException e) {
//throw what? new Exception or ParseException or something else
throw new ParseException (request.getParameter("Date")+ "is not a Date");
}
最后,我在控制器servlet处理异常,如
try {
//some methods that use method convertToDate
} catch (SomeException e) { //required right exception
response.sendError(HttpServletResponse.SC_BAD_REQUEST, e.getMessage());
return;
}
问题。我应该创建新的ParseException来添加信息或创建像IncorrectDateException这样的新异常吗?是否有更合适的选项来处理异常?
感谢。
答案 0 :(得分:1)
要做的标准事情是使用Servlet的doXxx()方法(例如.doGet(),doPost()等)抛出ServletException并允许容器捕获并处理它。您可以使用标记
指定要在WEB-INF / web.xml中显示的自定义错误页面<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
如果您最终捕获到Exception,则无法优雅地处理,只需将其包装在ServletException中,如下所示:
try {
// code that throws an Exception
} catch (Exception e) {
throw new ServletException(e);
}