การเขียนโปรแกรมเชิงป้องกัน
เรียนรู้การเขียนโปรแกรมเชิงป้องกัน: ตรวจสอบอินพุต หลีกเลี่ยงค่า null และหยุดทำงานตั้งแต่เนิ่น ๆ พร้อมข้อยกเว้นที่ชัดเจน
การเขียนโปรแกรมเชิงป้องกัน เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน
บทนำ
การเขียนโปรแกรมเชิงป้องกันหมายถึงการเขียนโค้ดที่คาดการณ์ข้อผิดพลาดไว้ล่วงหน้า เช่น ข้อมูลขาเข้าที่ไม่ถูกต้อง ค่าว่าง และสถานะที่ไม่ถูกต้อง ซึ่งช่วยตรวจพบปัญหาได้ตั้งแต่เนิ่น ๆ
ตรวจสอบข้อมูลขาเข้า
ตรวจสอบอาร์กิวเมนต์ตั้งแต่เริ่มต้นเมธอด หากข้อมูลขาเข้าไม่ถูกต้อง ให้โยนข้อยกเว้นทันทีแทนที่จะดำเนินการต่อด้วยข้อมูลที่ไม่ถูกต้อง
โค้ด: ตรวจสอบข้อมูลขาเข้า
เมธอดนี้ตรวจสอบตัวส่วนและโยนข้อยกเว้นแทนการหารด้วยศูนย์
public class Main {
static int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("Denominator must not be zero");
}
return a / b;
}
public static void main(String[] args) {
try {
System.out.println(divide(10, 0));
} catch (IllegalArgumentException e) {
System.out.println("Caught: " + e.getMessage());
}
}
}
หลีกเลี่ยงค่าว่าง
หลีกเลี่ยงการส่งคืนหรือรับค่าว่าง แต่ให้ใช้คอลเลกชันว่าง ค่าเริ่มต้น หรือค่าทางเลือกแทน เพื่อลด NullPointerExceptions
โค้ด: ตรวจสอบค่าว่าง
ในที่นี้เราตรวจสอบค่าว่างและโยนข้อยกเว้น แทนที่จะปล่อยให้เกิด NullPointerException ในภายหลัง
public class Main {
static String upper(String s) {
if (s == null) {
throw new IllegalArgumentException("String must not be null");
}
return s.toUpperCase();
}
public static void main(String[] args) {
try {
System.out.println(upper(null));
} catch (IllegalArgumentException e) {
System.out.println("Caught: " + e.getMessage());
}
}
}
โค้ด: หยุดทันทีเมื่อพบข้อผิดพลาด
หยุดทันทีเมื่อพบข้อผิดพลาด: ตรวจพบปัญหาทันทีพร้อมข้อผิดพลาดที่ชัดเจน วิธีนี้ช่วยป้องกันจุดบกพร่องที่ทำให้สับสนในภายหลัง
public class Main {
static int[] makeArray(int size) {
if (size < 0) {
throw new IllegalArgumentException("Size must be non-negative");
}
return new int[size];
}
public static void main(String[] args) {
try {
makeArray(-5);
} catch (IllegalArgumentException e) {
System.out.println("Caught: " + e.getMessage());
}
}
}
ตรวจสอบการเขียนโปรแกรมเชิงป้องกัน
คำถามตรวจสอบอย่างรวดเร็ว: เป้าหมายสำคัญของการเขียนโปรแกรมเชิงป้องกันคืออะไร
ทบทวน
ทบทวน: การเขียนโปรแกรมเชิงป้องกันจะตรวจสอบข้อมูลขาเข้า หลีกเลี่ยงค่าว่าง และหยุดทันทีเมื่อพบข้อผิดพลาด ทำให้โปรแกรมปลอดภัยและแก้จุดบกพร่องได้ง่ายขึ้น
คำถามที่พบบ่อย
บทเรียน “การเขียนโปรแกรมเชิงป้องกัน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเขียนโปรแกรมเชิงป้องกัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเขียนโปรแกรมเชิงป้องกัน”
เรียนรู้การเขียนโปรแกรมเชิงป้องกัน: ตรวจสอบอินพุต หลีกเลี่ยงค่า null และหยุดทำงานตั้งแต่เนิ่น ๆ พร้อมข้อยกเว้นที่ชัดเจน คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “การเขียนโปรแกรมเชิงป้องกัน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การโยนและข้อยกเว้นแบบกำหนดเอง
- try-with-resources (AutoCloseable)
- การเขียนโปรแกรมเชิงป้องกัน