<c:catch>
<c:catch>主要用来处理产生错误的异常状况,并且将错误信息储存起来。
语法:
<c:catch [var="varName"] >
… 欲抓取错误的部分
</c:catch>
<c:catch>的属性为var,用来储存错误信息的变量。
名 称
说 明
EL
类型
必须
默认值
var
用来储存错误信息的变量
N
String
否
无
说明
<c:catch>主要将可能发生错误的部分放在<c:catch>和</c:catch>之间。如果真的发生错误,可以将错误信息储存至varName变量中,例如:
<c:catch var="message">
://可能发生错误的部分
</c:catch>
另外,当错误发生在<c:catch>和</c:catch>之间时,则只有<c:catch>和</c:catch>之间的程序会被中止忽略,但整个网页不会被中止。
例,写一个简单的范例,文件名为core_catch.jsp,来体会<c:catch>的使用方式。
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<title>CH7 - Core_catch.jsp</title>
</head>
<body>
<h2><c:out value="<c:catch> 的用法" /></h2>
<c:catch var="error_Message">
<%
String eFormat = "not number";
int i = Integer.parseInt(eFormat);
%>
</c:catch>
<c:out value="${error_Message}" />
</body>
</html>
教材例程15-5,c_catch.jsp,<c:catch>标签的应用。
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL:的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:catch var="myexception">
<%
int i=0;
int j=10/i;
%>
</c:catch>
<hr>异常:
<c:out value="${myexception}"/>
<hr>异常exception.getMessage=
<c:out value="${myexception.message}"/>
<hr> 异常exception.getCause=
<c:out value="${myexception.cause}"/>
</body>
</html>