NetBeans/Java-断点可以';捕捉不到异常
在NetBeans/Java中,异常断点(用于Throwable)不会捕获异常(servlet库代码中的RuntimeException)。如果你乏味地搜索,你可以找到一条紫色的停止线,但不需要查看变量的状态,等等。VS.NET没有这样的问题-它会在你需要的地方停止,一切都很清楚NetBeans/Java-断点可以';捕捉不到异常,java,Java,在NetBeans/Java中,异常断点(用于Throwable)不会捕获异常(servlet库代码中的RuntimeException)。如果你乏味地搜索,你可以找到一条紫色的停止线,但不需要查看变量的状态,等等。VS.NET没有这样的问题-它会在你需要的地方停止,一切都很清楚 这是NetBeans问题还是Java问题?如何消除断点问题?在这里的示例中,您将对Servlet中的异常处理有基本的了解 实际上,如果设置一个断点,您将无法捕获servlet异常,因为它在到达终点之前发生,那么您必须这
这是NetBeans问题还是Java问题?如何消除断点问题?在这里的示例中,您将对Servlet中的异常处理有基本的了解 实际上,如果设置一个断点,您将无法捕获servlet异常,因为它在到达终点之前发生,那么您必须这样做 当servlet生成错误时,开发人员可以以各种方式处理这些异常
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/SampleExceptionHandler")
public class SampleExceptionHandler extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
exceptionProcessor(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
exceptionProcessor(request, response);
}
private void exceptionProcessor(HttpServletRequest request,
HttpServletResponse response) throws IOException {
// Analyze the servlet exception
Throwable throwable = (Throwable) request
.getAttribute("javax.servlet.error.exception");
Integer statusCode = (Integer) request
.getAttribute("javax.servlet.error.status_code");
String servletName = (String) request
.getAttribute("javax.servlet.error.servlet_name");
if (servletName == null) {
servletName = "Unknown";
}
String requestUri = (String) request
.getAttribute("javax.servlet.error.request_uri");
if (requestUri == null) {
requestUri = "Unknown";
}
}
}
在此示例中,您可以基本了解Servlet中的异常处理 实际上,如果设置一个断点,您将无法捕获servlet异常,因为它在到达终点之前发生,那么您必须这样做 当servlet生成错误时,开发人员可以以各种方式处理这些异常
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/SampleExceptionHandler")
public class SampleExceptionHandler extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
exceptionProcessor(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
exceptionProcessor(request, response);
}
private void exceptionProcessor(HttpServletRequest request,
HttpServletResponse response) throws IOException {
// Analyze the servlet exception
Throwable throwable = (Throwable) request
.getAttribute("javax.servlet.error.exception");
Integer statusCode = (Integer) request
.getAttribute("javax.servlet.error.status_code");
String servletName = (String) request
.getAttribute("javax.servlet.error.servlet_name");
if (servletName == null) {
servletName = "Unknown";
}
String requestUri = (String) request
.getAttribute("javax.servlet.error.request_uri");
if (requestUri == null) {
requestUri = "Unknown";
}
}
}
那么其他断点可以工作吗?然后可能是断点位置的错误放置。删除断点并读取它(可能在几行中)可能会有所帮助。IDE有罪。您需要添加更多上下文。NetBeans和Java(JDK)有很多版本,NetBeans中有多种类型的断点,启动servlet的确切方式非常相关(以及管理它的servlet容器),等等。事实上,你的问题太笼统了,无法回答。那么其他断点可以工作吗?然后可能是断点位置的错误放置。删除断点并读取它(可能在几行中)可能会有所帮助。IDE有罪。您需要添加更多上下文。NetBeans和Java(JDK)有很多版本,NetBeans中有多种类型的断点,启动servlet的确切方式非常相关(以及管理它的servlet容器),等等。事实上,你的问题太笼统了,回答不了。我得自己找问题了。谢谢你的回答。好的,但是谢谢亲爱的。祝你有个愉快的一天,我得自己找一个。谢谢你的回答。好的,但是谢谢亲爱的。对于你的答复,祝你有一个愉快的一天