关于JSP内建异常机制支持的问题

今天在看书的时候看到这样一句话:因为JSP内建了异常机制支持,所以JSP可以不处理异常,即使是checked异常。不是很懂。有没有大神给我解释一下什么是内建异常机制,什么是checked异常?

我理解的jsp的异常处理机制是指jsp可以创建一个错误处理页面,然后在其他页面发生指定异常时跳转到相应的创建的错误处理页面中:
JSP异常有以下两个步骤

1、写一个JSP错误页面
异常处理文件需要使用page指令的isErrorPage属性,格式如下
<%@ page isErrorPage="true"%>

如果在页面上进行了这样的设置,页面就有一项特殊的功能,就是能够访问异常对象exception,exception是JSP的内部对象,当页面在运行过程中发生异常的时候,会抛出异常对象exception,该对象exception包含了异常信息。下面是处理异常文件errorPage.jsp:

<%@ page contentType="text/html;charset=gb2312" %>

<%@ page isErrorPage="true"%>

2、在JSP内指定异常发生时应该回到哪个错误页面

要想让页面在产生异常的时候,由专门的异常处理文件对异常进行处理,需要在该页面中使用page指令的errorPage指定专门的异常处理页面,格式如下
<%@ page errorPage="errorPage.jsp"%>
另外,为页面指定异常处理文件还可以通过web.xml进行配置
常见的异常编码;
400错误:错误请求
401错误:访问被拒绝
403错误:文件被禁止访问
404错误:文件没有找到
500错误:问价在运行过程中发生未知错误

具体可查看http://www.360doc.com/content/13/0727/09/13247663_302769794.shtml 里面有实际例子

关于checked异常:
那些扩展了java.lang.Exception的异常称为checked exceptions, 编译器要求这些异常必须被捕获或者重新抛出. 那些扩展了java.lang.RuntimeException的异常称为unchecked exceptions, 它们不是必须捕获的. 当然, 也可以捕获这些异常并相应地扩展调用栈, 就像通常对checked exceptions做的那样.