Sobes.tech
Junior — Middle

Java Spring'da @ExceptionHandler annotatsiyasidan nima uchun foydalanilishini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Java Spring'da @ExceptionHandler anotatsiyasi, nazorat qiluvchilarda yuzaga keladigan istisnalarni boshqarish uchun ishlatiladi. U ma'lum bir turdagi istisno yuzaga kelganda chaqiriladigan metodni belgilash imkonini beradi, bu esa xatoliklarni markaziy tarzda boshqarishga va mijozga tushunarli javoblarni qaytarishga yordam beradi.

Foydalanish misoli:

@Controller
public class MyController {

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

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

Ushbu misolda, agar example metodida IllegalArgumentException chiqarilsa, @ExceptionHandler bilan belgilangan metod bu istisnani ushlaydi va mijozga 400 kodli va xato haqida xabar bilan javob qaytaradi.