Sobes.tech
Junior — Middle

¿Puedes explicar para qué se utiliza la anotación @ExceptionHandler en Java Spring?

sobes.tech AI

Respuesta de la IA

La anotación @ExceptionHandler en Java Spring se utiliza para manejar excepciones que ocurren en los controladores. Permite definir un método que será llamado cuando ocurra un tipo específico de excepción, lo que ayuda a gestionar errores de manera centralizada y a devolver respuestas comprensibles al cliente.

Ejemplo de uso:

@Controller
public class MyController {

    @GetMapping("/example")
    public String example() {
        if (true) {
            throw new IllegalArgumentException("Argumento incorrecto");
        }
        return "ok";
    }

    @ExceptionHandler(IllegalArgumentException.class)
    public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
        return ResponseEntity
                .status(HttpStatus.BAD_REQUEST)
                .body("Error: " + ex.getMessage());
    }
}

En este ejemplo, si en el método example se lanza una IllegalArgumentException, el método con la anotación @ExceptionHandler interceptará esta excepción y devolverá al cliente una respuesta con código 400 y un mensaje de error.