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

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/finally, throw และข้อผิดพลาดแบบกำหนดเอง — ภาพประกอบ 1

พื้นฐานการลองและจับข้อผิดพลาด

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

// 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);
}
try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง — ภาพประกอบ 2

พื้นฐานการโยนข้อผิดพลาด

ใช้สร้างและโยนข้อผิดพลาดใหม่("ข้อความ")เพื่อหยุดการทำงานและอธิบายว่าเกิดอะไรขึ้น

// 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);
}
try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง — ภาพประกอบ 3

การทำงานสุดท้ายเพื่อเก็บกวาด

การทำงานสุดท้ายจะทำงานไม่ว่าการลองจะสำเร็จหรือล้มเหลว จึงเหมาะสำหรับการปิดทรัพยากร

// 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);
}
try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง — ภาพประกอบ 4

ข้อผิดพลาดแบบกำหนดเอง (เบื้องต้น)

สร้าง 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 และข้อผิดพลาดแบบกำหนดเอง — ภาพประกอบ 5

เคล็ดลับและรายการตรวจสอบ

เคล็ดลับ:

  • ตรวจสอบข้อมูลเข้าแต่เนิ่น ๆ และโยนข้อผิดพลาดด้วยข้อความสั้น ๆ
  • ใช้การทำงานสุดท้ายเพื่อเก็บกวาด เช่น ปิดแฟล็กและตัวจับเวลา
  • อย่ากลืนข้อผิดพลาด ให้บันทึกสั้น ๆ หรือโยนข้อผิดพลาดต่อ
try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง — ภาพประกอบ 6

แบบทดสอบการทำงานสุดท้าย

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

try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง — ภาพประกอบ 7

ทบทวน

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

try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง — ภาพประกอบ 8

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

บทเรียน “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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. try/catch/finally, throw และข้อผิดพลาดแบบกำหนดเอง
  2. การเขียนโปรแกรมเชิงป้องกันและการตรวจสอบอินพุต
← กลับไปที่ JavaScript Academy