2008年1月29日 星期二

JSP 多餘的斷行 錯誤

一個初學者較常犯但不容易檢查出的錯誤可能是「多餘的斷行」,例如:
  • errorDemo.jsp
 <%@page contentType="charset=Big5"
errorPage="errorHandler.jsp"%>
<%
throw new Exception("這是一個假裝的錯誤,純綷丟出例外");
%>
//←(斷行)

這個JSP程式乍看之下沒有錯誤,程式只是丟出一個例外而已,但注意到它最底下空了一行,在轉換為Servlet之後,這一行會實際轉換為 out.write('\r');,而在這行之前,由於直接丟出了一個例外,換句話說,out.write('\r');這行永遠不會被執行到,這個邏輯 錯誤,編譯器是可以檢查的出的,因而錯誤頁面會回報"unreachable statement",改正這個錯誤的方式,是將JSP頁面中多餘的斷行刪掉。

沒有留言: