0 Tage Serie
java / beginner
Snippet

Behandeln benutzerdefinierter Ausnahmen mit ExceptionHandler

In Spring Boot ermöglicht die Annotation @ExceptionHandler das Abfangen bestimmter Java-Ausnahmen, die in der Web-Schicht ausgelöst werden. Anstatt unübersichtliche Stack-Traces an Benutzer zurückzugeben, können Sie saubere Fehlerobjekte mit standardmäßigen HTTP-Statuscodes ausliefern.

snippet.java
java
1
2
3
4
5
6
7
8
9
@RestControllerAdvice
public class GlobalErrorHandler {
@ExceptionHandler(UserNotFoundException.class)
@ResponseStatus(HttpStatus.NOT_FOUND)
public Map<String, String> handleUserNotFound(UserNotFoundException ex) {
return Map.of("error", ex.getMessage());
}
}
spring
Erklärung
1
@RestControllerAdvice
Registriert diese Klasse als globalen Interceptor für Ausnahmen aus allen REST-Controllern.
2
@ExceptionHandler(UserNotFoundException.class)
Weist Spring an, diese Methode aufzurufen, sobald eine UserNotFoundException ausgelöst wird.
3
@ResponseStatus(HttpStatus.NOT_FOUND)
Setzt den HTTP-Antwortstatuscode automatisch auf 404 (Not Found).
4
return Map.of("error", ex.getMessage());
Erstellt und liefert ein JSON-Objekt mit der Fehlerbeschreibung zurück.