我有这个代码注册文本的值num和检查它是偶数还是奇数,并且它适用于此,当我写一个非数字值然后我有一个问题时出现问题我猜错了500错误' sa NumberFormatException
<form action="Main" method="post">
<label>Num: </label><input type="text" name="num" size=2/>
<input type="submit" value="OK"/>
</form>
<c:if test="${num!=null }">
<c:choose>
<c:when test="${num%2==0 }">
<p>${num } is even</p>
</c:when>
<c:otherwise>
<p>${num } is odd</p>
</c:otherwise>
</c:choose>
</c:if>
有没有办法抓住它?
答案 0 :(得分:2)
为此,您可以使用<c:catch>
。
<c:set var="num" value="Some string"/>
<c:catch var ="e">
<c:if test="${num!=null }">
<c:choose>
<c:when test="${num%2==0 }">
<p>${num } is even</p>
</c:when>
<c:otherwise>
<p>${num } is odd</p>
</c:otherwise>
</c:choose>
</c:if>
</c:catch>
<c:if test = "${e != null}"> ${e} </c:if>
你会得到:
java.lang.NumberFormatException: For input string: "Some string"