Java Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° | Spring Boot Backend & Architecture. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΠΆΠ°Π²Π° Π΄Π»Ρ Developer. IT Π‘ΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ Coding Π·Π°Π΄Π°ΡΠΈ. Π£ΡΠΎΠΊΠΈ ΠΈ ΠΊΡΡΡΡ Π΄Π»Ρ ΡΠΎΡΡΠ° Π² Tech.
ΠΠ°ΡΠΊΠ° Β· 26 Π°Π²Π³ΡΡΡΠ° 2026 Π³.
π§ 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
ΠΠ°Π½Π°Π» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΠ°ΠΊΡΠΈΠΌΠ΅ΡΠ΅ΡΠ°
1Β 612 ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² Β· ΠΠ°ΡΠΊΠ°