ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому
ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€

🧠 Spring Boot: ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΎΠ³ΠΈΡ€ΡƒΠ΅ΠΌ @ExceptionHandler

🧠 Spring Boot: ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΎΠ³ΠΈΡ€ΡƒΠ΅ΠΌ @ExceptionHandler БСйчас ΠΏΠΎΠΊΠ°ΠΆΡƒ простой, Π½ΠΎ часто упускаСмый ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ошибок Π² Spring Boot. Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ @ExceptionHandler, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ тСряСтС stacktrace ΠΏΡ€ΠΈ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ❌ ΠŸΠ»ΠΎΡ…ΠΎ: @ExceptionHandler(MyException.class) public ResponseEntity<String> handle(MyException ex) { log.error("MyException occurred: {}", ex.getMessage()); // stacktrace тСряСтся! return ResponseEntity.status(500).body("Error"); } βœ… Π₯ΠΎΡ€ΠΎΡˆΠΎ: @ExceptionHandler(MyException.class) public ResponseEntity<String> handle(MyException ex) { log.error("MyException occurred", ex); // stacktrace Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½ΠΎ Π² Π»ΠΎΠ³Π΅ return ResponseEntity.status(500).body("Error"); } πŸ“Œ log.error(String, Throwable) β€” ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ способ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π­Ρ‚ΠΎ позволяСт: * Π‘ΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ stacktrace для Π΄Π΅Π±Π°Π³Π°; * НС Ρ‚Π΅Ρ€ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ (getCause()); * Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π»ΠΎΠ³-Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ (ELK, Grafana, etc). πŸ’‘ Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Slf4j ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ log.error("message: {}", ex.getMessage()), Π²Ρ‹ тСряСтС ΠΏΠΎΡ‡Ρ‚ΠΈ всю ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ошибкС. ⚠️ И Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅: Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ…Π΅Π½Π΄Π»Π΅Ρ€Ρ‹ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π½Π΅ Π³Π»ΡƒΡˆΠΈΡ‚Π΅ всС ошибки Π±Π΅Π· Ρ€Π°Π·Π±ΠΎΡ€Π°. Π›ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ @ExceptionHandler ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. πŸ‘‰ @BookJava

567 просмотров

Канал Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€Π°

1Β 612 подписчиков Β· Наука

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

Π•Ρ‰Ρ‘ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ «Наука»

Π§ΠΈΡ‚Π°Ρ‚ΡŒ дальшС

Π”Π²Π° Ρ€Π°Π·Π° Π² нСдСлю свСТиС посты этого ΠΊΠ°Π½Π°Π»Π° β€” Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ Π² Π»ΠΈΡ‡Π½ΡƒΡŽ Π»Π΅Π½Ρ‚Ρƒ. Π‘Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска ΠΊΠ°Π½Π°Π»Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.