java 异常处理机制
1.java异常处理机制:
public ActionForward listEC(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response) {
??try{
?? ? ?this.initLocation(request);
?? ? ?LoginUser loginUser = (LoginUser) WebUtils.getRequiredSessionAttribute(request, "loginUser");
?? ? ?Limit limit = ExtremeTablePage.getLimit(request);
?? ? ?Map<string object> filterMap = ExtremeTablePage.getFilter(limit);
?? ? ?filterMap.put("acinId", ? ? ?request.getParameter("acinId"));
?? ? ?filterMap.put("operUserId", loginUser.getId());
?? ? ?this.beForePropertiesSetForList(loginUser, filterMap);
?? ? ?Page page = entityManager.findBy(filterMap, ExtremeTablePage.getSort(limit), limit.getPage(), limit.getCurrentRowsDisplayed());
?? ? request.setAttribute("totalRows", page.getTotalCount()); ? ? ? ? request.setAttribute(this.getEntityListName(), page.getResult());
??}catch(Exception e){
?? ?e.printStackTrace();
??}
?? ?return mapping.findForward(this.LIST);
}
1.此处findBy()业务方法抛出异常,由try{}catch{}捕获。
org.springframework.dao.DataIntegrityViolationException: SqlMapClient operation; SQL []; --- The error occurred while applying a parameter map. --- Check the com.sniper.ghgAndpay.model.BargainPay.selectCount-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred while applying a parameter map. --- Check the com.sniper.ghgAndpay.model.BargainPay.selectCount-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred while applying a parameter map. --- Check the com.sniper.ghgAndpay.model.BargainPay.selectCount-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字</string>
?
修改:
public ActionForward listEC(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
try {
this.initLocation(request);
LoginUser loginUser = (LoginUser) WebUtils.getRequiredSessionAttribute(request, "loginUser");
Limit limit = ExtremeTablePage.getLimit(request);
Map<String, Object> filterMap = ExtremeTablePage.getFilter(limit);
filterMap.put("acinId", request.getParameter("acinId"));
filterMap.put("operUserId", loginUser.getId());
this.beForePropertiesSetForList(loginUser, filterMap);
Page page = entityManager.findBy(filterMap, ExtremeTablePage.getSort(limit), limit.getPage(), limit
.getCurrentRowsDisplayed());
request.setAttribute("totalRows", page.getTotalCount());
request.setAttribute(this.getEntityListName(), page.getResult());
} catch (Exception e) {
log.error(e);//项控制台输出日志信息
this.saveError(request, "ecListInputError");//提供错误信息给用户操作界面
request.setAttribute("totalRows", 0);
request.setAttribute(this.getEntityListName(), new ArrayList());
}
return mapping.findForward(this.LIST);
}