// REST Exceptions @ResponseStatus(HttpStatus.NOT_FOUND) public class NotFoundException extends RuntimeException{ // override NotFoundException(), NotFoundException(String message), // NotFoundException(String message, Throwable cause), NotFoundException(Throwable cause) } @ResponseStatus(HttpStatus.BAD_REQUEST) public class BadRequestException extends RuntimeException{ // override BadRequestException(), BadRequestException(String message), // BadRequestException(String message, Throwable cause), public BadRequestException(Throwable cause) } @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ResponseEntity<String> handleException(Exception ex) { // Handle the exception and return an appropriate response return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) .body("An error occurred: " + ex.getMessage()); } // You can add multiple methods with @ExceptionHandler for different types of exceptions @ExceptionHandler(YourCustomException.class) public ResponseEntity<String> handleCustomException(YourCustomException ex) { // Handle YourCustomException and return a specific response return ResponseEntity.status(HttpStatus.BAD_REQUEST) .body("Bad Request: " + ex.getMessage()); } // Add more exception handler methods as needed }