为@ExceptionHandler中的每个异常产生适当的状态

时间:2019-05-23 19:09:09

标签: java spring spring-boot exception exceptionhandler

我使用@ControllerAdvice在Spring Boot控制器中捕获异常。 在@ExceptionHandler中,我可以手动指定数量有限的异常及其状态代码。

我的问题是我该如何处理其他所有异常及其状态?

我可以指定一些例外,其状态如下:

    JInternalFrame internalFrame = new JInternalFrame();
    internalFrame.setSize(600, 400);
    internalFrame.setVisible(true);
    internalFrame.setClosable(true);
    internalFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    JTable table = new JTable(generateEmptyData(),
        new Object[] { "Line 1", "Line 2", "Line 3", "Line 4", "Line 5" });
    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    table.setRowSelectionAllowed(true);
    table.setColumnSelectionAllowed(true);
    table.setPreferredScrollableViewportSize(table.getPreferredSize());
    table.setFillsViewportHeight(true);

    internalFrame.setLayout(new BorderLayout());
    internalFrame.add(table, BorderLayout.CENTER);

我想捕获所有异常,看来我应该另外在@ExceptionHandler中指定状态为INTERNAL_SERVER_ERROR的Exception.class。

在这一点上,即使具有4 **状态,我也会获得所有其他异常的状态500。

如何从每个异常中生成适当的状态代码,以将其发送给客户端?

1 个答案:

答案 0 :(得分:0)

您可以创建自定义异常类,并在定义这些自定义异常类时,配置在发生此异常时应发送的http状态代码。 因此,当您捕获到该异常的异常处理程序时,您可以获取应从异常返回给用户的http状态代码,并将其发送给用户。

相关问题