通过使用浏览器,当抛出错误时,我被正确地重定向到web.xml文件中指定的自定义错误页面
但是为什么我总是在curl的输出中看到默认的400错误页面及其跟踪?我缺少处理的异常类型(我使用的是java.lang.exception)或其他?
这是servlet的代码:
package test.company.com;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.Exception;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
// stuff here ..
} catch (Throwable e) {
// Log and throw the superclass Exception
LOGGER.log(Level.SEVERE, e.getMessage());
throw new ServletException();
}
}
这是 web.xml 配置文件:
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>400</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
匿名用户
通过在Tomcat 9的< code>server.xml中设置< code>ErrorReportValve配置类解决,现在错误堆栈跟踪不再可用:-)
https://imgs.xnip.cn/cj/n/65/d40c01e4-1c57-49c8-ae76-e8cfaf3d3919.png" width="100%" height="100%" />
请在此处查看前两个答案:哪些字符使URL无效?-您正在发送
所以,替换
您需要修复网页抛出的异常和在JavaScript中调试错误。 如果你能得到页面异常和JavaScript错误的细节,在实际工作中非常有用 。当页面抛出异常或脚本产生错误时,Console(控制台)面板会提供明确的可靠信息,以帮助您找到并解决问题。 在Console(控制台)面板中,您可以跟踪异常及跟踪导致异常的执行路径,显式地或隐式地捕获它们(或忽略它们),甚至可以设置错误处理程序来自动收集和处理
当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类型相匹配的配置。 您必须在 web.xml 中使用 error-page 元素来指定对特定异常 或 HTTP 状态码 作出相应的 Servlet 调用。 web.xml 配置 假设,有一个 ErrorHandler 的 Servlet 在任何已定义的异常或错误出现时
FAQs in section [17]: [17.1] try / catch / throw 通过哪些方法来改善软件质量? [17.2] 如何处理构造函数的失败? [17.3] 如何处理析构函数的失败? [17.4] 如果构造函数会抛出异常,我该怎样处理资源? [17.5] 当别人抛出异常时,我如何改变字符数组的字符串长度来防止内存泄漏? 17.1 try / catch / throw 通过
本文向大家介绍浅谈PHP中的错误处理和异常处理,包括了浅谈PHP中的错误处理和异常处理的使用技巧和注意事项,需要的朋友参考一下 错误处理: 1. 语法错误 2. 运行时的错误 3. 逻辑错误 错误报告: 错误E_ERROR 警告E_WARNING 注意E_NOTICE 开发阶段:开发时输出所有的
我正在做我的一项任务。这相当直截了当。包含单个输入的HTML表单被提交到Servlet,Servlet获取参数,基于参数创建消息,将消息作为属性添加到请求,并使用requestdispatcher转发到jsp以显示消息。 我有一个要求,如果参数丢失,我需要显示一个错误页面。问题是我不能显式地检查null,也不能使用try/catch块。我的猜测是,目标是在web中定义错误页面。xml页面来处理特定
当程序出现错误或者异常时,我们一般会希望在开发时输出报错信息,在生产环境时隐藏详细的信息。 在 imi 中,提供了 Http 服务的错误异常默认处理器支持。 默认 Http 错误处理器:Imi\Server\Http\Error\JsonErrorHandler 指定默认处理器 配置文件中: return [ 'beans' => [ 'HttpErrorHan