 |
 |
●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( ) |
簡潔なエラーメッセージを表示します。 |
|
使用例 |
| exceptionオブジェクトの使用例について解説します。throwException.jspで無理やり例外をスローさせ、exException.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>
|
|
<%-- (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 |
|
|
|
|
|
|
|
|
|
|
|
| 12.暗黙オブジェクト(exception) |
|
|
|
|
|
 |
|
 |
 |