我使用@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。
如何从每个异常中生成适当的状态代码,以将其发送给客户端?
答案 0 :(得分:0)
您可以创建自定义异常类,并在定义这些自定义异常类时,配置在发生此异常时应发送的http状态代码。 因此,当您捕获到该异常的异常处理程序时,您可以获取应从异常返回给用户的http状态代码,并将其发送给用户。