Estou estudando APIs com spring. Na parte de fazer as handle exceptions me veio uma dúvida. Quais exceções devo tratar, até agora(e é o que eu encontro na maioria dos materiais) eu só tratei a “ResourceNotFoundException” e fiz uma “AllException”. Mas quais devo tratar, como saber qual a classe certa pra isso? Alguém tem uma dica?
@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<ExceptionResponse> handleAllException(Exception ex, WebRequest request) {
ExceptionResponse response = new ExceptionResponse(LocalDateTime.now(),
HttpStatus.BAD_REQUEST,
"Error unknown",
request.getDescription(false));
response.getErrors().add(ex.getMessage());
return new ResponseEntity<>(response, response.getStatus());
}
@ExceptionHandler(ResourceNotFoundException.class)
public ResponseEntity<ExceptionResponse> handleNotFoundException(ResourceNotFoundException ex, WebRequest request) {
ExceptionResponse response = new ExceptionResponse(LocalDateTime.now(),
HttpStatus.NOT_FOUND,
"Resource not found!",
request.getDescription(false));
response.getErrors().add(ex.getMessage());
return new ResponseEntity<>(response, response.getStatus());
}
}