jsp errorpage - 例外?

时间:2012-03-01 17:48:20

标签: jsp

 <%@ page isErrorPage = "true"%>
    <body>
    <h2>Your application has generated an error</h2>
    <h3>Please check for the error given below</h3>
    <b>Exception:</b><br> 
    <font color="red"><%= exception.toString() %></font>
    </body>

我想在JSP Expression中知道exception.toString() - 异常对象用于什么?

我们可以选择使用&lt;%= exception.getMessage()%&gt; ??

谢谢..

2 个答案:

答案 0 :(得分:5)

我认为你在询问异常变量中包含的内容。

exceptionJSP implicit变量

exception变量包含在前一个JSP页面上抛出的任何异常,其中errorPage指令转发到具有isErrorPage指令的页面。

e.g。

如果你有一个抛出异常的JSP(index.jsp)(我故意通过解析一个String抛出一个NumberFormatException,显然你不会写一个执行此操作的页面,它只是一个例子)

<%@ page errorPage="error.jsp" %>
<% Integer.parseInt("foo"); //throws an exception %>

这将转发到error.jsp,

如果error.jsp是

<%@ page isErrorPage = "true"%>
<body>
<h2>Your application has generated an error</h2>
<h3>Please check for the error given below</h3>
<b>Exception:</b><br> 
<font color="red"><%= exception.toString() %></font>
</body>

因为它有

<%@ page isErrorPage = "true"%>

页面指令,隐式变量exception将包含前一个jsp中抛出的异常

因此,当您请求index.jsp时,将抛出异常,并转发到error.jsp,这将输出像这样的HTML

<body>
<h2>Your application has generated an error</h2>
<h3>Please check for the error given below</h3>
<b>Exception:</b><br> 
<font color="red">java.lang.NumberFormatException: For input string: "foo"</font>
</body>

正如@JB Nizet提到的异常是一个Throwable调用exception.getMessage() For input string: "foo"而不是java.lang.NumberFormatException: For input string: "foo"的实例

答案 1 :(得分:0)

toString()getMessage()Throwable的两种方法,您当然可以同时使用这两种方法。但是,他们并没有做同样的事情。要知道他们做了什么,请阅读他们的文档。