博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Struts2框架】第五节声明式异常处理-处理异常的过程
阅读量:6176 次
发布时间:2019-06-21

本文共 1825 字,大约阅读时间需要 6 分钟。

如何抓到异常的?
步骤:(以之前写的小样例为例)
如果CategoryService中的list方法出错(category_表不存在):
public List
list()throws SQLException{ Connection conn=DB.createConn(); String sql="select * from category_"; PreparedStatement ps=DB.prepare(conn, sql); List
categories=new ArrayList
(); try { ResultSet rs=ps.executeQuery(); Category c=null; while(rs.next()){ c=new Category(); c.setId(rs.getInt("id")); c.setName(rs.getString("name")); c.setDescription(rs.getString("description")); categories.add(c); } } catch (SQLException e) { e.printStackTrace(); throw(e);//向外抛出异常 } DB.close(ps); DB.close(conn); return categories; }
做到两点:throws SQLException和throw(e);
此时CategoryAction接收到CategoryService中的list方法抛出的异常:
public String list()throws Exception{		categories=categoryService.list();		return SUCCESS;	}
注意加:throws Exception
CategoryAction中的throws Exception继续向外抛异常,之后struts.xml接住
/admin/{1}-{2}.jsp
/admin/{1}-{2}.jsp
/admin/{1}-{2}.jsp
/error.jsp
其中 <exception-mapping result="error" exception="java.sql.SQLException"/>  
java.sql.SQLException异常有对应的result,找到result(error.jsp),显示异常的界面
在error.jsp中利用[Debug]可以看到,栈值中有exception,详细为:
exception   java.sql.SQLException: Table 'bbs2014.category_' doesn't exist
友好界面里最好写“出错了,请联系管理员”,要比“请稍后再试”好多了
全局的异常处理:
如果需要收集的异常过多,那么需要全局的异常处理机制,在struts中这样配置:
/error.jsp
/admin/{1}-{2}.jsp
/admin/{1}-{2}.jsp
/admin/{1}-{2}.jsp
struts中支持声明式的异常处理指的是,要是有异常,就向外抛,最后会给一个统一的接口,然后让你在特定的页面做出处理。

转载请注明出处:

你可能感兴趣的文章
React-Redux源码分析
查看>>
页面传递参数问题
查看>>
PHP FPM源代码反刍品味之五:信号signal处理
查看>>
5G网速真的有理论上那么高吗?
查看>>
Set添加自定义方法对象如何保证唯一性
查看>>
站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
查看>>
技术工坊|浅谈区块链的Layer2扩展(北京)
查看>>
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
查看>>
Apache和PHP结合 及 Apache默认虚拟主机
查看>>
添加自定义监控项目配置邮件告警测试告警不发邮件的问题处理
查看>>
solidity智能合约的经典设计模式
查看>>
华为交换网络基础、基本配置、STP/RSTP
查看>>
SpringCloud 微服务 (十七) 容器部署 Docker
查看>>
不定项选择题
查看>>
netty 分析博客
查看>>
Spring Cloud构建微服务架构服务注册与发现
查看>>
BCGControlBar教程:如何将MFC控件的BCGControlBarBCGSuite添加到对话框中
查看>>
深入理解Java8 Lambda表达式
查看>>
Java集合框架面试问题集锦
查看>>
Java每天10道面试题,跟我走,offer有!(六)
查看>>