Javaには例外(exception)やエラー(error)が発生したときに、それを補足(catch)して例外処理を行う try catch 文がある。同様に、JSPにも発生した例外を補足する仕組みが用意されている。
<c:catch>
は発生した例外を補足するJSP標準タグライブラリ(JSTL)である。
JSPにおいて例外が発生する可能性がある箇所を <c:catch>
タグで囲む。これは、Javaにおける try ブロックに相当する。
<c:catch var="exception">
<!-- 例外が発生する可能性のある処理 -->
</c:catch>
発生した例外は、var属性に指定した変数に格納され、後の処理に利用できる。
<c:catch>
タグには次の属性を指定する。
属性の指定は必須ではないが、var属性を省略すると、発生した例外の詳細が分からない。
<c:catch>
は発生した例外を補足するJSP標準タグライブラリ(JSTL)である。
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<title>Core catch tag</titile>
</head>
<body>
<c:catch var="e">
<%-- Divide by zero --%>
<c:out value="${1/0}" />
</c:catch>
<c:if test="${e != null}">
<p>Exception: ${e}</p>
<p>Exception message: ${e.message}</p>
</c:if>
</body>
</html>
Javaのjava.lang.Exceptionクラスは、次のメソッドを持つ。
メソッド | 説明 |
---|---|
public final void addSuppressed(Throwable exception) |
指定された例外を追加する。 |
public Throwable fillInStackTrace() |
実行スタック・トレースを埋め込む。 |
public Throwable getCause() |
例外の原因を返す。 |
public String getLocalizedMessage() |
ローカライズされた詳細メッセージ文字列を返す。 |
public String getMessage() |
詳細メッセージ文字列を返す。 |
public StackTraceElement[] getStackTrace() |
スタック・トレース要素の配列を返す。 |
public final Throwable[] getSuppressed() |
抑制された例外をすべて含む配列を返す。 |
public Throwable initCause(Throwable cause) |
例外の原因を指定された値に初期化する。 |
public void printStackTrace() |
スタック・トレースを標準エラー・ストリームに出力する。 |
public void printStackTrace(PrintStream s) |
スタック・トレースを指定された印刷ストリームに出力する。 |
public void printStackTrace(PrintWriter s) |
スタック・トレースを指定されたプリント・ライターに出力する。 |
public void setStackTrace(StackTraceElement[] stackTrace) |
スタック・トレース要素を設定する。 |
public String toString() |
短い記述を返す。 |
JSP (JavaServer Pages) には、他にも次のJSP標準タグライブラリ(JSTL)がある。
JSPには次のディレクティブがある。
JSPには次のアクションタグがある。