# JSTL＆lt; c：catch＆gt;核心标签

> 原文： [https://beginnersbook.com/2013/11/jstl-ccatch-core-tag/](https://beginnersbook.com/2013/11/jstl-ccatch-core-tag/)

**＆lt; c：catch＆gt; JSTL 标记**用于异常处理。之前我们分享了如何在 JSP 中进行异常处理 - 两种方式。在这篇文章中，我们将使用＆lt; c：catch＆gt;讨论异常处理。核心标签。

#### 句法：

```
<c:catch var ="variable_name">
 //Set of statements in which exception can occur
</c:catch>
```

**variable_name** 可以是存储异常消息的任何变量。如果＆lt; c：catch＆gt;中包含的语句中发生异常那么这个变量包含异常消息。让我们借助一个例子来理解这一点。

#### 例

在这个例子中，我们故意通过将整数除以零来抛出算术异常，然后我们使用[表达式语言（EL）](https://beginnersbook.com/2013/11/jsp-expression-language-el/ "Expression language")打印 **errormsg** 变量（包含异常消息）。

**注**：如果＆lt; c：catch＆gt;中的语句块中没有异常那么变量（例如它的 errormsg）应该具有空值。这就是我们在打印变量值之前检查 errormsg！= null 的原因。

```
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>JSTL c:catch Core Tag Example</title>
</head>
<body>
<%! 
int num1=10;
int num2=0; %>
<c:catch var ="errormsg">
  <% int res = num1/num2;
  out.println(res);%>
</c:catch>
<c:if test = "${errormsg != null}">
  <p>There has been an exception raised in the above
  arithmetic operation. Please fix the error.
  Exception is: ${errormsg}</p>
</c:if>
</body>
</html>
```

产量

![c-catch-example](../Images/a83be30c7e990aff0330787266c3bb71.jpg)