JSP中的异常处理
一、try/catch/finally/throws/throw
// 在局部代码里处理异常。
二、errorPage, isErrorPage
// 在整个页面处理异常。
1.errorPage
形如: <%@page errorPage="error.jsp"%>
表示:需要错误处理的页面
2.isErrorPage
形如: <%@page isErrorPage="true"%>
指示:错误页面。其中,有一个隐式对象exception可用: <%=exception%>
产生(隐含)内建对象exception,可通过它获得异常信息
<%=exception.getMessage() %> //把异常信息打印出来
三、声明的方式处理异常
// 在整个应用处理异常。(范围比前两种更大)
1.配置: 在web.xml进行配置异常处理
…… <error-page>
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/MathError.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page> ……
2.复习:Java中的异常——有2种
受查异常(Checked Exception)
非受查异常(Unchecked Exception) Java中的RuntimeException及其子类是不需要处理的(try/catch)
因为所有的RuntimeException总是可以通过优化代码来避免,因此,这种异常被称为"Unchecked Exception"。
3.思考:
三种异常处理方式同时启动用,那个优先级高? 作用域越小,优先级越高。
注意:要使得页面自动跳转到错误页面,必须关闭浏览器的"显示友好HTTP错误信息"选项。
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException { /*只处理这两种兼容的异常*/ …… }
一、try/catch/finally/throws/throw
// 在局部代码里处理异常。
二、errorPage, isErrorPage
// 在整个页面处理异常。
1.errorPage
形如: <%@page errorPage="error.jsp"%>
表示:需要错误处理的页面
2.isErrorPage
形如: <%@page isErrorPage="true"%>
指示:错误页面。其中,有一个隐式对象exception可用: <%=exception%>
产生(隐含)内建对象exception,可通过它获得异常信息
<%=exception.getMessage() %> //把异常信息打印出来
三、声明的方式处理异常
// 在整个应用处理异常。(范围比前两种更大)
1.配置: 在web.xml进行配置异常处理
…… <error-page>
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/MathError.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page> ……
2.复习:Java中的异常——有2种
受查异常(Checked Exception)
非受查异常(Unchecked Exception) Java中的RuntimeException及其子类是不需要处理的(try/catch)
因为所有的RuntimeException总是可以通过优化代码来避免,因此,这种异常被称为"Unchecked Exception"。
3.思考:
三种异常处理方式同时启动用,那个优先级高? 作用域越小,优先级越高。
注意:要使得页面自动跳转到错误页面,必须关闭浏览器的"显示友好HTTP错误信息"选项。
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException { /*只处理这两种兼容的异常*/ …… }