Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 > Servlet・JSP > JSP −12.暗黙オブジェクト(exception)
更新日:2006/10/8
JSP−12.暗黙オブジェクト(exception)
JSPでは、宣言せずに使用できるオブジェクトとして9つの暗黙オブジェクト(request, response, pageContext, session, application, config, page, exception)が用意されています。それぞれの暗黙オブジェクトにはJSPプログラムで頻繁に使用するメソッドが定義されています。ここでは、暗黙オブジェクトのうち、exceptionについて解説します。
概要
暗黙オブジェクトexceptionは、java.lang.Throwableクラスのオブジェクト変数です。このオブジェクトはJSPプログラムの例外処理に使用します。例外がスローされたとき、なんの例外処理も行わない場合は、コンテナが生成するデフォルトのエラーメッセージが表示されます。デフォルトのエラーメッセージを表示したくない場合、簡潔なメッセージのみ表示したい場合などにexceptionオブジェクトを使用します。

JSPプログラムでは、一般に例外処理を行うJSPプログラムを別に分けます。例外処理を行うJSPプログラムでexceptionオブジェクトを使用します。exceptionオブジェクトを使用するためにはpageディレクティブのisErrorPage属性を"true"にする必要があります。デフォルトは"false"です。

例外をスローするJSPプログラムに、例外処理を行うJSPプログラムを指定します。例外処理を行うJSPプログラムはpageディレクティブのerrorPage属性で指定します。
メソッド
以下にexceptionオブジェクトで使用できる主なメソッドを紹介します。
戻り型
メソッド
説明
String
getMessage( )
詳細なエラーメッセージを表示します。
String
getLocalizedMessage( )
地域対応されたメッセージを表示します。メッセージの内容はgetMessageメソッドと同じです。
String toString( ) 簡潔なエラーメッセージを表示します。
※その他のメソッドについてはAPIリファレンスをご参照ください。
使用例
exceptionオブジェクトの使用例について解説します。throwException.jspで無理やり例外をスローさせ、exException.jspで例外処理が実行されるかを例示します。
【throwException.jsp】
<%-- (1)例外処理を行うJSPプログラムを
        errorPage属性で指定しています。 --%>
<%@ page contentType="text/html; charset=windows-31j"
         errorPage="/exException.jsp"%>

<html>
<body>

<%
  //(2)0で除算し、無理やりArithmeticExceptionエラー
  //   をスローしてます。
  int x = 10/0;
%>

</body>
</html>
【exException.jsp】
<%-- (1)exceptionオブジェクトを使用するため
        isErrorPage属性を指定しています。 --%>
<%@ page contentType="text/html; charset=windows-31j" 
         isErrorPage="true"%>

<html>
<body>

<%
  out.println("例外処理JSPプログラム");
  out.println("<BR><BR>");

  //(2)スローされた例外の簡潔な情報を
  //   toStringメソッドを使用して表示します。
  out.println(exception.toString());
%>

</body>
</html>
【実行結果】JSPプログラムの実行方法に関しては、Javaの道:Tomcat(プログラム配置・実行)を参照してください。
Javaの道_exception_実行結果



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道