การจัดการข้อผิดพลาดและ Advice
เรียนรู้รูปแบบการจัดการข้อผิดพลาดและใช้ @ControllerAdvice ใน Spring Boot
การจัดการข้อผิดพลาดและ Advice เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน
บทนำ
การจัดการข้อผิดพลาดช่วยปรับปรุงประสบการณ์ของผู้ใช้ แทนที่จะส่งร่องรอยสแตกดิบ ๆ กลับไป ควรส่งข้อความที่มีความหมาย
โค้ด: ข้อยกเว้นแบบกำหนดเอง
สร้างข้อยกเว้นแบบกำหนดเองสำหรับทรัพยากรที่ไม่พบ
public class UserNotFoundException extends RuntimeException {
public UserNotFoundException(Long id) {
super("User not found with id " + id);
}
}
โค้ด: โยนข้อยกเว้น
บริการจะโยน UserNotFoundException หากไม่พบผู้ใช้
public User find(Long id) {
return repo.findById(id)
.orElseThrow(() -> new UserNotFoundException(id));
}
โค้ด: ControllerAdvice
@ControllerAdviceจะดักจับข้อยกเว้นและจับคู่ข้อยกเว้นเหล่านั้นกับการตอบกลับ
import org.springframework.web.bind.annotation.*;@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(UserNotFoundException.class)
@ResponseBody
public String handleNotFound(UserNotFoundException ex) {
return ex.getMessage();
}
}
ประโยชน์
การจัดการจากส่วนกลางช่วยหลีกเลี่ยงโค้ดซ้ำและทำให้ข้อความข้อผิดพลาดสอดคล้องกันในทุกส่วนเชื่อมต่อโปรแกรม
การใช้งาน
ทดสอบด้วย GET /users/999 คุณควรเห็นข้อความ "ไม่พบผู้ใช้ที่มีรหัส 999" แทนร่องรอยสแตก
ตรวจสอบ ControllerAdvice
ตรวจสอบสั้น ๆ: @ControllerAdvice มีความสามารถอะไรใน Spring Boot
สรุปทบทวน
สรุปทบทวน: สร้างข้อยกเว้นแบบกำหนดเอง โยนข้อยกเว้นจากบริการ จัดการด้วย @ControllerAdvice และส่งข้อความที่ชัดเจนกลับไปแล้ว
คำถามที่พบบ่อย
บทเรียน “การจัดการข้อผิดพลาดและ Advice” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดการข้อผิดพลาดและ Advice” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อผิดพลาดและ Advice”
เรียนรู้รูปแบบการจัดการข้อผิดพลาดและใช้ @ControllerAdvice ใน Spring Boot คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “การจัดการข้อผิดพลาดและ Advice” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- JPA/H2 และรีโพซิทอรี
- ชั้นบริการ CRUD
- การจัดการข้อผิดพลาดและ Advice