handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์
ดักจับข้อผิดพลาดที่ไม่คาดคิดของเซิร์ฟเวอร์และส่งไปยังบริการบันทึกหรือเฝ้าติดตามของคุณ
handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์ เป็นบทเรียน Sveltejs Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Sveltejs Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน
การดักจับข้อผิดพลาด
คุณสามารถตรวจสอบข้อผิดพลาดที่ไม่คาดคิดในการโหลดหรือจุดปลายทางผ่าน handleError ได้
ส่งออก handleError
ส่งออกจาก hooks.server.js
export async function handleError({ error, event }) {
console.error(error);
return { message: "Something went wrong" };
}ออบเจ็กต์ที่ส่งคืน
ออบเจ็กต์ที่ส่งคืนจะพร้อมใช้งานเป็น $page.error ในหน้าข้อผิดพลาด
ส่งไปยังการบันทึก
ส่งต่อข้อผิดพลาดไปยัง Sentry, Datadog หรือบริการบันทึกใด ๆ จากฮุกนี้
หลีกเลี่ยงการเปิดเผยรายละเอียด
อย่าส่งคืนข้อความข้อผิดพลาดดิบไปยังไคลเอ็นต์ในสภาพแวดล้อมจริง ข้อความทั่วไปพร้อมรหัสติดตามจะปลอดภัยกว่า
รหัสติดตาม
สร้าง ID ที่ไม่ซ้ำกันสำหรับข้อผิดพลาดแต่ละรายการ ส่งคืนให้ผู้ใช้ และบันทึกไว้ภายในเพื่อใช้ในการสนับสนุน
รูปแบบฝั่งไคลเอ็นต์
hooks.client.js ยังรองรับ handleError สำหรับข้อผิดพลาดที่เกิดเฉพาะฝั่งไคลเอ็นต์ด้วย
การแยกแยะข้อผิดพลาด
ข้อผิดพลาดที่คาดไว้จาก error() จะข้าม handleError มีเพียงข้อผิดพลาดที่ไม่คาดคิดเท่านั้นที่เรียกใช้สิ่งนี้
การบันทึกแบบอะซิงโครนัส
การบันทึกอาจทำงานแบบอะซิงโครนัสได้ อย่าบล็อกการตอบกลับหากตัวบันทึกของคุณทำงานช้า
ร่องรอยสแตก
ใส่ร่องรอยสแตกไว้ในบันทึกของคุณ เพราะมีความสำคัญอย่างยิ่งต่อการแก้ไขข้อบกพร่อง
หน้าข้อผิดพลาดแบบกำหนดเอง
ใช้ handleError ร่วมกับ +error.svelte เพื่อสร้างประสบการณ์ที่ดีแก่ผู้ใช้
ตรวจสอบอย่างรวดเร็ว
handleError ทำงานเมื่อใด
สรุปทบทวน
handleError ใน hooks.server.js จะบันทึกข้อผิดพลาดที่ไม่คาดคิดจากส่วนกลางและกำหนดรูปแบบข้อความที่ผู้ใช้มองเห็น
คำถามที่พบบ่อย
บทเรียน “handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Sveltejs Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์”
ดักจับข้อผิดพลาดที่ไม่คาดคิดของเซิร์ฟเวอร์และส่งไปยังบริการบันทึกหรือเฝ้าติดตามของคุณ คุณปฏิบัติ Sveltejs Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Sveltejs Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Sveltejs Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Sveltejs Academy นี้ได้ไหม
ได้ บทเรียน Sveltejs Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Hook handle(): มิดเดิลแวร์สำหรับคำขอ
- handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์
- Hook init()
- Sequence() สำหรับการประกอบ Hook