gpt4 book ai didi

Java catch 被忽略

转载 作者:太空宇宙 更新时间:2023-11-04 06:55:37 25 4
gpt4 key购买 nike

我对此感到头疼:

protected void setParameters(HttpServletRequest request) {

try {
page = Integer.parseInt(request.getParameter("p"));
}
catch (NumberFormatException | NullPointerException e) {
messages.add("Invalid page.");
}

try {
status = Integer.parseInt(request.getParameter("s"));
}
catch (NumberFormatException | NullPointerException e) {
messages.add("Invalid status.");
}

}

在我将此方法放入父类(super class)之前,它按预期工作;但是现在,当我有一个不带 p 参数的查询字符串时(例如),异常 (NumberFormatException) 会被抛出(如预期的那样),然后被第一个 catch 捕获(如预期的那样),然后重新抛出并被调用函数捕获(这不是预期的)。由于异常已经在这里被捕获,因此执行应该继续。

我附上了一张屏幕截图,您可以在其中看到:

  • 粉色:我的断点
  • 绿色:我当前的执行行
  • 作为气球:异常的当前类型,明确表示它是 NumberFormatException

enter image description here

非常感谢任何想法

更新:

谢谢,这是我的调用堆栈:Servlet > UserListHandler > setParameters

UserListHandler() 是一个构造函数,如下所示:

enter image description here

Servlet 看起来像这样:

enter image description here

我发现有趣的是 servlet 捕获的异常是 NullPointerException。

我的堆栈跟踪的顶部如下所示:

Mar 31, 2014 5:13:06 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [UserListServlet] in context with path [/App.Web] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException

最佳答案

很明显,还有另一个异常(exception)。

也许“消息”,catch 内为 null 并且抛出一个新的 NullPointerException?

关于Java catch 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22773809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com