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

การโยนและข้อยกเว้นแบบกำหนดเอง

เรียนรู้การโยนข้อยกเว้นอย่างชัดเจนและกำหนดคลาสข้อยกเว้นแบบกำหนดเอง

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

บทนำ

บางครั้งคุณจำเป็นต้องส่งสัญญาณข้อผิดพลาดด้วยตนเอง Java อนุญาตให้คุณโยนข้อยกเว้นอย่างชัดเจนและสร้างประเภทข้อยกเว้นแบบกำหนดเองได้

คำสั่งโยนข้อยกเว้น

คำสั่งโยนข้อยกเว้นจะสร้างและส่งข้อยกเว้น ใช้ภายในเมธอดเพื่อระบุว่ามีบางอย่างผิดพลาด

โค้ด: โยนข้อยกเว้นในตัว

ในที่นี้เราโยน IllegalArgumentException เมื่ออายุมีค่าน้อยเกินไป

public class Main {
  static void checkAge(int age) {
    if (age < 18) {
      throw new IllegalArgumentException("Must be 18 or older");
    }
    System.out.println("Access granted");
  }
  public static void main(String[] args) {
    try {
      checkAge(15);
    } catch (IllegalArgumentException e) {
      System.out.println("Caught: " + e.getMessage());
    }
  }
}

ข้อยกเว้นแบบกำหนดเอง

คุณสามารถสร้างข้อยกเว้นแบบกำหนดเองของคุณเองได้ สำหรับข้อยกเว้นที่ต้องตรวจสอบ ให้ขยายต่อจาก Exception ส่วนข้อยกเว้นที่ไม่ต้องตรวจสอบ ให้ขยายต่อจาก RuntimeException

โค้ด: ข้อยกเว้นแบบกำหนดเอง

ตัวอย่างนี้แสดงข้อยกเว้นที่ต้องตรวจสอบแบบกำหนดเอง เมธอดต้องประกาศข้อยกเว้นนี้ด้วย throws

public class Main {
  // Custom checked exception
  static class InvalidAgeException extends Exception {
    InvalidAgeException(String msg) { super(msg); }
  }
  static void validate(int age) throws InvalidAgeException {
    if (age < 18) throw new InvalidAgeException("Too young!");
  }
  public static void main(String[] args) {
    try {
      validate(15);
    } catch (InvalidAgeException e) {
      System.out.println("Caught custom: " + e.getMessage());
    }
  }
}

โค้ด: ข้อยกเว้นแบบกำหนดเองชนิดรันไทม์

ข้อยกเว้นแบบกำหนดเองชนิดรันไทม์จะขยายต่อจาก RuntimeException และไม่จำเป็นต้องประกาศ

public class Main {
  // Custom unchecked exception
  static class FatalError extends RuntimeException {
    FatalError(String msg) { super(msg); }
  }
  public static void main(String[] args) {
    try {
      throw new FatalError("Something bad happened");
    } catch (FatalError e) {
      System.out.println("Caught runtime: " + e.getMessage());
    }
  }
}

ตรวจสอบข้อยกเว้นแบบกำหนดเอง

คำถามตรวจสอบอย่างรวดเร็ว: คุณจะกำหนดข้อยกเว้นที่ต้องตรวจสอบแบบกำหนดเองได้อย่างไร

ทบทวน

ทบทวน: ใช้คำสั่งโยนข้อยกเว้นเพื่อส่งสัญญาณข้อผิดพลาด ให้ขยายต่อจาก Exception สำหรับข้อยกเว้นที่ต้องตรวจสอบ หรือ RuntimeException สำหรับข้อยกเว้นที่ไม่ต้องตรวจสอบแบบกำหนดเอง

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

บทเรียน “การโยนและข้อยกเว้นแบบกำหนดเอง” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การโยนและข้อยกเว้นแบบกำหนดเอง”

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

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

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

บทเรียน “การโยนและข้อยกเว้นแบบกำหนดเอง” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การโยนและข้อยกเว้นแบบกำหนดเอง
  2. try-with-resources (AutoCloseable)
  3. การเขียนโปรแกรมเชิงป้องกัน
← กลับไปที่ Java Academy