java / intermediate
Snippet
Globale Ausnahmebehandlung mit @ControllerAdvice
Die Verwendung von @ControllerAdvice ermöglicht es, Ausnahmen in der gesamten Anwendung an einer zentralen Stelle zu behandeln. Dies trennt die Fehlerlogik von der Geschäftslogik.
snippet.java
1
2
3
4
5
6
7
8
9
@ControllerAdvicepublic class GlobalExceptionHandler {@ExceptionHandler(UserNotFoundException.class)public ResponseEntity<ErrorResponse> handleNotFound(UserNotFoundException ex) {ErrorResponse error = new ErrorResponse("NOT_FOUND", ex.getMessage());return new ResponseEntity<>(error, HttpStatus.NOT_FOUND);}}
spring
Erklärung
1
@ControllerAdvice
Spezialisierte @Component, die die Ausnahmebehandlung über mehrere @Controller-Klassen hinweg ermöglicht.
2
@ExceptionHandler(UserNotFoundException.class)
Definiert, welchen spezifischen Ausnahmetyp diese Methode abfangen und behandeln soll.