我的下面有Action
课程getTspNameIdMap
抛出ReqMgmtException
异常(自定义异常)。
public String findTspNameIdMap(){
SlsReqMgmtCommonRemote slsReqMgmtCommonRemote = null;
tspNameIdMap = new HashMap<String, String>();
try{
slsReqMgmtCommonRemote = getSlsReqMgmtCommonRemote();
tspNameIdMap = slsReqMgmtCommonRemote.getTspNameIdMap(gmaThresholdParameters.getId().getCircleId());
}
catch(ReqMgmtException rEx){
addActionError(rEx.getError());
result = "error";
return ERROR;
}
catch (Exception e){
addActionError("Error in processing your request. Contact Administrator");
e.printStackTrace();
System.out.println("[ConfigureTspThresholdAction: findTspNameIdMap Function]:In catch Inside Constructor!!");
result = "error";
return ERROR;
}
return SUCCESS;
}
我知道Struts2中也存在异常处理,但是目前我还没有使用它。 我应该使用Struts2异常处理吗?它的用途是什么?
答案 0 :(得分:1)
你应该在Struts2中使用异常处理机制,这就是exception
拦截器提供的内容。您还应该像处理问题一样处理动作方法中的异常。如果它处理好所有异常,如果不是异常处理程序可以处理它。此外,在某些没有throws Exception
签名的方法中,您只能捕获异常但不能返回ERROR
结果。因此,重新抛出异常并通过拦截器处理它是一种解决方法。
<强>参考文献:强>