try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง
ใช้ try/catch/finally สร้างข้อผิดพลาดอย่างง่ายด้วย throw และกำหนด Error แบบกำหนดเองขนาดเล็กเพื่อให้ข้อความชัดเจนขึ้น
try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 2 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 2 บทเรียน
รู้จักการจัดการข้อผิดพลาด
เป้าหมาย: จัดการข้อผิดพลาดอย่างปลอดภัยและทำให้โปรแกรมยังคงเสถียร
- พื้นฐานการลอง/จับข้อผิดพลาด
- โยนข้อผิดพลาดพร้อมข้อความที่ชัดเจน
- การทำงานสุดท้ายเพื่อเก็บกวาด
- ข้อผิดพลาดแบบกำหนดเองขนาดเล็ก

พื้นฐานการลองและจับข้อผิดพลาด
ครอบการทำงานที่มีความเสี่ยงด้วยการลอง ในส่วนการจับข้อผิดพลาด ให้แสดงข้อความสั้น ๆ ที่ช่วยแก้ปัญหาได้
// try/catch around risky code
try {
const data = JSON.parse("{\"name\":\"Ayla\"}");
console.log("Parsed:", data.name);
} catch (e) {
// e.message is short and useful on mobile
console.log("Failed to parse:", e.message);
}

พื้นฐานการโยนข้อผิดพลาด
ใช้สร้างและโยนข้อผิดพลาดใหม่("ข้อความ")เพื่อหยุดการทำงานและอธิบายว่าเกิดอะไรขึ้น
// Throw when inputs are invalid
function doubleNumber(n) {
if (typeof n !== "number") {
throw new Error("Number required");
}
return n * 2;
}
try {
console.log(doubleNumber(4));
console.log(doubleNumber("4")); // will throw
} catch (e) {
console.log("Error:", e.message);
}

การทำงานสุดท้ายเพื่อเก็บกวาด
การทำงานสุดท้ายจะทำงานไม่ว่าการลองจะสำเร็จหรือล้มเหลว จึงเหมาะสำหรับการปิดทรัพยากร
// finally runs after try/catch — great for cleanup
let opened = false;
try {
opened = true;
console.log("Opened:", opened);
// Force an error to see finally still run
JSON.parse("{ bad }");
} catch (e) {
console.log("Caught:", e.message);
} finally {
opened = false;
console.log("Closed:", opened);
}

ข้อผิดพลาดแบบกำหนดเอง (เบื้องต้น)
สร้าง InputError ขนาดเล็กสำหรับปัญหาของข้อมูลเข้า ใช้ การตรวจสอบชนิดอินสแตนซ์ เพื่อจัดการกรณีนี้โดยเฉพาะ
// Make a small custom error
class InputError extends Error {
constructor(message) {
super(message);
this.name = "InputError";
}
}
function positive(n) {
if (typeof n !== "number") {
throw new InputError("Number required");
}
if (n <= 0) {
throw new InputError("Must be positive");
}
return n;
}
try {
console.log("OK:", positive(3));
console.log("Fail:", positive(0));
} catch (e) {
if (e instanceof InputError) {
console.log("Input problem:", e.message);
} else {
// Unknown error: rethrow or log differently
console.log("Unexpected:", e.message);
}
}

เคล็ดลับและรายการตรวจสอบ
เคล็ดลับ:
- ตรวจสอบข้อมูลเข้าแต่เนิ่น ๆ และโยนข้อผิดพลาดด้วยข้อความสั้น ๆ
- ใช้การทำงานสุดท้ายเพื่อเก็บกวาด เช่น ปิดแฟล็กและตัวจับเวลา
- อย่ากลืนข้อผิดพลาด ให้บันทึกสั้น ๆ หรือโยนข้อผิดพลาดต่อ

แบบทดสอบการทำงานสุดท้าย
ตรวจสอบอย่างรวดเร็ว: พฤติกรรมของการทำงานสุดท้าย

ทบทวน
ทบทวน: ครอบโค้ดที่มีความเสี่ยงด้วยการลอง/จับข้อผิดพลาด โยนข้อผิดพลาดสั้น ๆ ที่ช่วยแก้ปัญหาได้ ใช้การทำงานสุดท้ายเพื่อเก็บกวาด และกำหนดข้อผิดพลาดแบบกำหนดเองขนาดเล็กเพื่อให้จัดการได้ชัดเจนยิ่งขึ้น

คำถามที่พบบ่อย
บทเรียน “try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 2 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง”
ใช้ try/catch/finally สร้างข้อผิดพลาดอย่างง่ายด้วย throw และกำหนด Error แบบกำหนดเองขนาดเล็กเพื่อให้ข้อความชัดเจนขึ้น คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 2 บทเรียน
บทเรียน “try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม
ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง
- การเขียนโปรแกรมเชิงป้องกันและการตรวจสอบอินพุต