SSH中异常是怎么处理的

 我来答
EvenHHZ
2017-01-11 · 知道合伙人软件行家
EvenHHZ
知道合伙人软件行家
采纳数:13691 获赞数:18845
个人出版图书:《玩转Python网络爬虫》、《玩转Django2.0》

向TA提问 私信TA
展开全部
一 异常信息封装

可以建一个异常信息封装类,将项目中常见异常信息进行封装,常见信息包括:

1.异常种类:

如: 数据库操作异常; 应用操作异常(业务异常,如 权限不够等) ; 系统异常(如 应用服务器异常)

2.具体异常:

如:"该数据库不存在!" 等等

二 异常处理

可以在持久层或业务逻辑层捕获处理,也可以层层向上抛,直到Action层,在Action进行捕获。

在Action进行捕获之后可以有两种处理方式:

1.将该异常 加上自己的信息throw出来,如:

.........

.........

} catch (UnifyUserException u) {
throw new UnifyUserException("添加角色失败!");
}

这时需要在struts.xml中配置异常处理信息,如:

在<package 中加入全局异常映射:

<!-- 全局异常映射 -->
<global-exception-mappings>
<exception-mapping result="allError" exception="Java.lang.Exception">
</exception-mapping>
</global-exception-mappings>
<!-- 全局异常映射 -->

如果系统要求不是很严格,可以用全局异常映射将所有异常都转发到一个公用的页面,这时需要在抛出异常的Action中加入该全局映射,如:

<action name="login" class="logionAction">
<result name="success">index.jsp</result>
<result name="error">login.jsp</result>
<result name="allError">../operaterFailed.jsp</result>
</action>

如果想具体一点,可以配置针对具体Action的具体异常,这时需要配置局部异常处理,如:

<action name="MASTERACTION_*" class="masterAction" method="{1}">

<!-- 局部异常映射 -->
<exception-mapping result="nullPoint" exception="java.lang.NullPointerException"></exception-mapping>
<exception-mapping result="sql" exception="java.sql.SQLException"></exception-mapping>
<!-- 异常转向页面 -->
<result name="allError">../operaterFailed.jsp</result>
<result name="nullPoint">../operaterFailed.jsp</result>
<result name="sql">../operaterFailed.jsp</result>
</action>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式