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には次のアクションタグがある。