首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

java 错误处理机制

2012-09-21 
java 异常处理机制1.java异常处理机制:public ActionForward listEC(ActionMapping mapping, ActionForm f

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);

}

热点排行