学科分类
目录

exception对象

在JSP页面中,经常需要处理一些异常信息,这时,可以通过exception对象来实现。exception对象是java.lang.Exception类的实例对象,它用于封装JSP中抛出的异常信息。需要注意的是,exception对象只有在错误处理页面才可以使用,即page指令中指定了属性<%@ page isErrorPage=”true”%>的页面。接下来,通过一个案例来学习exception对象的使用,如例1、2所示。

例1 price.jsp

 1    <%@ page language="java" contentType="text/html; charset=UTF-8"%>
 2    <%@ page errorPage="execp.jsp"%>
 3    <%
 4    String strprice=request.getParameter("price");
 5    double price=Double.parseDouble(strprice);
 6    out.println("Total price="+price*3);
 7    %>

在例1中,price.jsp页面通过page指令的errorPage属性将excep.jsp指定为错误处理页面。

例2 execp.jsp

 1    <%@ page language="java" contentType="text/html; charset=UTF-8"%>
 2    <%@ page isErrorPage="true"%>
 3    <%
 4    out.println("exception.toString:");
 5    out.println("<br>");
 6    out.println(exception.toString());
 7    out.println("<p>");
 8    out.println("exception.getMessage():");
 9    out.println("<br>");
 10    out.println(exception.getMessage());%>

启动Tomcat服务器,在浏览器输入地址http://localhost:8080/chapter07/price.jsp?price=3.5,浏览器显示的界面如图1所示。

图1 运行结果

从图1中可以看出,浏览器正确的显示出了总价,没有出现任何异常信息。但是,如果在浏览器输入地址http://localhost:8080/chapter07/price.jsp?price=abc,浏览器显示的界面如图2所示。

图2 运行结果

从图2中可以看出,当参数price的值不是数字时,这时例1的第5行会抛出异常,浏览器将错误的信息显示了出来,说明当price.jsp页面发生错误时,会自动调用execp.jsp 页面进行错误处理。

点击此处
隐藏目录