Sobes.tech
Junior — Middle

Kas on @ExceptionHandler annotatsiooni kasutamise eesmärk Java Springis?

sobes.tech AI

Vastus AI-lt

@ExceptionHandler märge Spring Java-s kasutatakse kontrollijates tekkivate erandite töötlemiseks. See võimaldab määrata meetodi, mis kutsutakse välja, kui tekib konkreetse tüüpi erand, aidates keskendatult hallata vigu ja tagastada arusaadavaid vastuseid kliendile.

Kasutusnäide:

@Controller
public class MyController {

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

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

Selles näites, kui example meetod viskab IllegalArgumentException, siis @ExceptionHandler märgitud meetod püüab selle erandi kinni ja tagastab kliendile vastuse koodiga 400 ja veateate.