0Pricing
Sveltejs Academy · บทเรียน

ข้อผิดพลาดที่คาดไว้และไม่คาดไว้

แยกข้อผิดพลาดที่คาดไว้และควรแสดงต่อผู้ใช้ออกจากข้อผิดพลาดที่ไม่คาดคิดของเซิร์ฟเวอร์

ข้อผิดพลาดที่คาดไว้และไม่คาดไว้ เป็นบทเรียน Sveltejs Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Sveltejs Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน

สองประเภท

SvelteKit แยกข้อผิดพลาดที่คาดไว้ ซึ่งถูกโยนโดยตั้งใจ ออกจากข้อผิดพลาดที่ไม่คาดคิด ซึ่งมักเกิดจากข้อบกพร่อง

ข้อผิดพลาดที่คาดไว้: error()

เรียก error(status, message) สำหรับกรณีความล้มเหลวที่ทราบอยู่แล้ว

if (!post) error(404, "Post not found");

ข้อผิดพลาดที่ไม่คาดคิด: การโยนที่ไม่ถูกดักจับ

การโยนข้อผิดพลาดรูปแบบอื่นถือว่าไม่คาดคิด SvelteKit จะซ่อนข้อความจากไคลเอ็นต์เพื่อความปลอดภัย

เหตุผลที่ต้องซ่อนข้อความ

ข้อความข้อผิดพลาดที่ไม่คาดคิดอาจเปิดเผยรายละเอียดของสแตกหรือการนำไปใช้งาน การแสดงข้อความทั่วไปจึงปลอดภัยกว่า

handleError

ใช้ handleError ในฮุกเพื่อบันทึกข้อผิดพลาดที่ไม่คาดคิดและปรับแต่งข้อความทั่วไป

รูปแบบ: ตรวจสอบอินพุต

เรียก error() เมื่ออินพุตไม่ถูกต้อง และปล่อยให้ข้อบกพร่องจริงปรากฏเป็นข้อผิดพลาดที่ไม่คาดคิด

ตัวช่วยเปลี่ยนเส้นทาง

redirect() ก็เป็นการดำเนินการโดยตั้งใจเช่นกัน ใช้สำหรับหน้าที่ต้องยืนยันตัวตนหรือที่อยู่เว็บที่ย้ายแล้ว

การกู้คืนด้วย Try/Catch

ครอบการเรียกบริการภายนอกที่มีความเสี่ยงด้วย try/catch และจัดการกรณีสำรองอย่างเหมาะสมเพื่อหลีกเลี่ยงหน้าข้อผิดพลาด

ชนิดของ TypeScript

error() ของ SvelteKit มีการกำหนดชนิดและจะโยนข้อผิดพลาด ดังนั้นโค้ดส่วนที่เหลือจึงยังเข้าถึงได้หลังตรรกะการส่งคืนก่อนกำหนด

การเลือกรหัสสถานะ

ใช้ 404 เมื่อไม่พบข้อมูล 401 เมื่อไม่ได้รับอนุญาตให้ยืนยันตัวตน 403 เมื่อไม่มีสิทธิ์ และ 500 สำหรับข้อผิดพลาดของเซิร์ฟเวอร์

หลีกเลี่ยงการโยนข้อผิดพลาดทั่วไป

throw new Error ธรรมดาในเส้นทางที่ผู้ใช้มองเห็นจะถูกจัดเป็นข้อผิดพลาดที่ไม่คาดคิด ใช้ error() เพื่อสร้างประสบการณ์ผู้ใช้ที่ชัดเจน

ตรวจสอบอย่างรวดเร็ว

error(404) แตกต่างจาก throw new Error อย่างไร

สรุปทบทวน

ใช้ error() สำหรับความล้มเหลวที่ตั้งใจให้เกิดพร้อมข้อความที่ผู้ใช้มองเห็น และปล่อยให้ข้อบกพร่องจริงถูกโยนออกมาแล้วบันทึกโดย handleError

คำถามที่พบบ่อย

บทเรียน “ข้อผิดพลาดที่คาดไว้และไม่คาดไว้” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ข้อผิดพลาดที่คาดไว้และไม่คาดไว้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Sveltejs Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ข้อผิดพลาดที่คาดไว้และไม่คาดไว้”

แยกข้อผิดพลาดที่คาดไว้และควรแสดงต่อผู้ใช้ออกจากข้อผิดพลาดที่ไม่คาดคิดของเซิร์ฟเวอร์ คุณปฏิบัติ Sveltejs Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Sveltejs Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Sveltejs Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ข้อผิดพลาดที่คาดไว้และไม่คาดไว้” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Sveltejs Academy นี้ได้ไหม

ได้ บทเรียน Sveltejs Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. +error.svelte สำหรับหน้าข้อผิดพลาดกำหนดเอง
  2. ข้อผิดพลาดที่คาดไว้และไม่คาดไว้
  3. ตัวช่วย error() และ redirect()
  4. หน้าข้อผิดพลาดในโครงร่างแบบซ้อน
← กลับไปที่ Sveltejs Academy