การโยนและข้อยกเว้นแบบกำหนดเอง
เรียนรู้การโยนข้อยกเว้นอย่างชัดเจนและกำหนดคลาสข้อยกเว้นแบบกำหนดเอง
การโยนและข้อยกเว้นแบบกำหนดเอง เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การโยนและข้อยกเว้นแบบกำหนดเอง
- try-with-resources (AutoCloseable)
- การเขียนโปรแกรมเชิงป้องกัน