Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NetBeans/Java-断点可以';捕捉不到异常_Java - Fatal编程技术网

NetBeans/Java-断点可以';捕捉不到异常

NetBeans/Java-断点可以';捕捉不到异常,java,Java,在NetBeans/Java中,异常断点(用于Throwable)不会捕获异常(servlet库代码中的RuntimeException)。如果你乏味地搜索,你可以找到一条紫色的停止线,但不需要查看变量的状态,等等。VS.NET没有这样的问题-它会在你需要的地方停止,一切都很清楚 这是NetBeans问题还是Java问题?如何消除断点问题?在这里的示例中,您将对Servlet中的异常处理有基本的了解 实际上,如果设置一个断点,您将无法捕获servlet异常,因为它在到达终点之前发生,那么您必须这

在NetBeans/Java中,异常断点(用于Throwable)不会捕获异常(servlet库代码中的RuntimeException)。如果你乏味地搜索,你可以找到一条紫色的停止线,但不需要查看变量的状态,等等。VS.NET没有这样的问题-它会在你需要的地方停止,一切都很清楚


这是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容器),等等。事实上,你的问题太笼统了,回答不了。我得自己找问题了。谢谢你的回答。好的,但是谢谢亲爱的。祝你有个愉快的一天,我得自己找一个。谢谢你的回答。好的,但是谢谢亲爱的。对于你的答复,祝你有一个愉快的一天