JSP 處理異常

2018-03-20 14:19 更新

JSP教程 - JSP處理異常


要在不使用錯(cuò)誤處理頁面的情況下處理同一頁面中的異常,請使用try....catch塊。

<html>
<body>
<%
   try{
      int i = 1;
      i = i / 0;
      out.println("The answer is " + i);
   }
   catch (Exception e){
      out.println("An exception occurred: " + e.getMessage());
   }
%>
</body>
</html>

在JSP中,我們可以為每個(gè)JSP頁面指定一個(gè)錯(cuò)誤頁面來處理異常。每當(dāng)頁面拋出異常時(shí),JSP容器自動(dòng)返回錯(cuò)誤頁面。

以下代碼顯示如何使用<%@ page errorPage =“xxx”%>指令指定main.jsp的錯(cuò)誤頁面。

<%@ page errorPage="ShowError.jsp" %>
<html>
<body>
<%
   int x = 1;
   if (x == 1)
   {
      throw new RuntimeException("Error condition!!!");
   }
%>
</body>
</html>

例子

下面的代碼是ShowError.jsp,它包含指令<%@ page isErrorPage =“true”%>。此偽指令生成異常實(shí)例變量。

<%@ page isErrorPage="true" %>
<html>
<body>
<p>Here is the exception stack trace: </p>
<pre>
<% exception.printStackTrace(response.getWriter()); %>
</pre>
</body>
</html>

例2

以下代碼顯示了如何使用JSP表達(dá)式語言輸出異常信息。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page isErrorPage="true" %>
<html>
<body>
    <b>Error:</b>${pageContext.exception}
    <b>URI:</b>${pageContext.errorData.requestURI}
    <b>Status code:</b>${pageContext.errorData.statusCode}
    <c:forEach var="trace" items="${pageContext.exception.stackTrace}">
        <p>${trace}</p>
    </c:forEach>
</body>
</html>
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號