当前位置: 首页 > 知识库问答 >
问题:

如何获取在spring错误控制器中抛出的异常类

呼延钱明
2023-03-14

我有我的spring错误控制器,我需要获得实际的异常类,这样我就可以打印堆栈跟踪和其他类似的东西。这是我的错误控制器

@Controller
public class ErrorController implements org.springframework.boot.web.servlet.error.ErrorController {

    @RequestMapping("/error")
    public String handleError() {
        return "somethingwentwrong";
    }

    @Override
    public String getErrorPath() {
        return null;
    }
}

我知道这不多,但我需要Exception对象能够做一些额外的处理。

感谢任何事先的帮助!

共有1个答案

阎自怡
2023-03-14

如果您希望根据抛出的异常类型执行不同的代码,则应考虑使用@controlleradvice@exceptionhandler。您不使用@exceptionhandler处理的任何异常都将弹出到默认的errorcontroller(尽管您可以在处理程序中处理exception,然后将通过自定义处理程序处理所有异常)

https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-exceptionhandler

 类似资料:
  • 我有以下控制器: 在我的文件,我已经注入了类: 加载此控制器时,出现以下错误: 可捕获的致命错误:传递给Acme\CompanyBundle\Controller\CompanyController:的参数1::\uu construct()必须是Symfony\Component\DependencyInjection\Container的实例,未给定,在C:\wamp\www\Symfony\

  • 两者的最后一个调用,即检索特定SomeDto对象的调用,可以抛出ResourceNotFoundException,该调用被配置为返回ResponseStatus NOT_Found: 但是,当调用此“未安全”时,它不会返回404 HTTP状态--它会返回401未授权: 但是,当我在RestController中显式捕获异常并将HttpServletResponse对象上的响应状态设置为 当我用一

  • 通过抛出异常,我可以防止对API的访问,但它不会返回我试图抛出异常的有意义的消息。 有人使用这样的用例并能帮助我吗?

  • 我在我的控制器中使用javax验证,带有。当服务器接收到无效数据时,它会抛出错误,但我想处理该错误并返回自定义格式的错误。我无法在控制器建议中捕获异常。我使用的是Spring webFlux,因此无法使用bindingResult。我如何处理该异常?这是我的代码 控制器 资源 错误处理程序

  • 我用Spring Boot和百里香SpringMVC。我有返回百里香模板名称的普通控制器和用< code>@RepsonseBody注释的REST控制器。 假设我有一个< code > EntityNotFoundException ,它是由控制器调用的某个代码抛出的。如果抛出,我想分别为REST控制器返回一个404状态代码和一个错误页面或错误消息。 我当前对普通控制器的设置: 对于REST控制程

  • spring MVC中controllin异常流的良好实践是什么? 假设我有一个DAO类,它将对象保存到数据库中,但如果违反了某些规则,例如名称太长、年龄太低,则抛出异常, 现在,如果我想保存名称超过10的A,它应该抛出异常。 但是有一个dataManipulator对象 和控制器 我希望在不抛出异常的情况下保留控制器(我听说这是一个很好的做法)。 但我的问题是,在这种情况下,A\u Data\u