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

Spring Bootendpoint中的异常处理

濮阳宏硕
2023-03-14

我试图在一个具有SOAPendpoint和Rest控制器的Spring Boot应用程序中处理异常。

提前谢谢你。

共有1个答案

倪炎彬
2023-03-14

我们可以创建定制的异常:

@ResponseStatus(HttpStatus.NOT_FOUND) public class StudentNotFoundException extends 
RuntimeException {}

Spring中的异常处理程序

@ControllerAdvice
@RestController
public class CustomizedResponseEntityExceptionHandler extends 
ResponseEntityExceptionHandler {
@ExceptionHandler(StudentNotFoundException.class)
 public final ResponseEntity<ErrorDetails> 
 handleUserNotFoundException(StudentNotFoundException ex, WebRequest request) {
  ErrorDetails errorDetails = new ErrorDetails(new Date(), ex.getMessage(),
  request.getDescription(false));
 return new ResponseEntity<>(errorDetails, HttpStatus.NOT_FOUND);
}


public class ErrorDetails {
private Date timestamp;
private String message;
private String details;

public ErrorDetails(Date timestamp, String message, String details) {
  super();
 this.timestamp = timestamp;
  this.message = message;
  this.details = details;
 }
 类似资料:
  • 问题内容: 我有一个ScheduledThreadPoolExecutor,似乎正在吃异常。如果提交的Runnable引发异常,我希望我的执行者服务通知我。 例如,我希望下面的代码至少输出IndexArrayOutOfBoundsException的stackTrace 作为附带问题。有没有办法为ScheduledThreadPoolExecutor编写常规try catch块? ////////

  • 本文向大家介绍Java 中的异常处理?相关面试题,主要包含被问及Java 中的异常处理?时的应答技巧和注意事项,需要的朋友参考一下  Java异常类层次结构图 在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类。Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) ,二者都是 Java 异常处理的重要子类,各自都包含大

  • 我创建了简单的MailService来通过电子邮件发送内容。它工作但我不知道如何处理异常(我的想法是在HTML视图中打印一些信息或在404页重定向) 邮件服务: 在控制器中的用法:

  • 我需要在我的应用程序中将异常显示为toast消息,但以下代码不起作用,我如何修改它? 10-14 23:41:21.637 14498-14498/com.example.username.weddingplanningE/SQLiteDatabase︰错误插入name=dandroid.database.sqlite.SQLiteConstraintExc0019:列名称不是唯一的(代码19)在

  • 问题内容: 我目前正在学习如何正确执行自定义异常的过程,偶然发现了一个问题。每当我尝试利用引发此自定义异常的类的对象时,IDE的调试器(我使用的是IntelliJ想法)都会说“未处理的异常:InsertExceptionName()”。代码以简化的方式看起来像这样。在这种情况下,如果随机生成的数字<0.5,它将返回一个异常,否则返回一个数字,但不会这样做。我想念什么? -- -- 问题答案: 您是

  • 我正在使用Java的executor服务特性。我想了解设计视角。 如果其中一批出现问题,最好的处理方法是什么? 我正在创建固定线程池, 此外,我正在使用invokeall()调用所有返回未来对象的可调用对象。 我的设想是 > 我有1000条来自xml文件的记录,我想保存到DB中。我创建了10个批次,每个批次包含100条记录。 批次开始处理(例如batch1、batch2、batch3…batch1