【问题标题】:Struts2 Exception handling usage?Struts2 异常处理用法?
【发布时间】:2014-01-15 11:12:21
【问题描述】:

我在下面有我的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 异常处理吗?它的用途是什么?

【问题讨论】:

  • 您是否“应该”使用 S2 的声明式异常处理完全取决于您的需要。它用于处理您不想直接在应用程序代码中处理的异常。

标签: java jsp exception-handling struts2


【解决方案1】:

你应该在Struts2中使用异常处理机制,这就是exception拦截器提供的。此外,您应该像您的问题一样处理操作方法中的异常。如果它能很好地处理所有异常,则异常处理程序可以处理它。同样在某些没有throws Exception 签名的方法中,您只能捕获异常但不能返回ERROR 结果。因此,重新抛出异常并由拦截器处理它是解决方法。

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多