Java:
การจัดการกับข้อผิดพลาด
วิธีการ:
Java ใช้ข้อยกเว้น (exceptions) ในการจัดการกับข้อผิดพลาด คุณสามารถครอบโค้ดที่มีความเสี่ยงด้วยบล็อก try
และจับข้อยกเว้นด้วย catch
นี่คือตัวอย่างง่ายๆ:
public class ErrorHandlingExample {
public static void main(String[] args) {
try {
int result = divide(10, 0);
System.out.println("Result is: " + result);
} catch (ArithmeticException e) {
System.out.println("Oops, can't divide by zero!");
}
}
private static int divide(int numerator, int denominator) {
return numerator / denominator;
}
}
ผลลัพธ์:
Oops, can't divide by zero!
การศึกษาลึก
การจัดการข้อผิดพลาดใน Java มีการพัฒนามาอย่างยาวนาน ในช่วงแรกไม่มีการใช้ข้อยกเว้น โปรแกรมเมอร์ตรวจสอบรหัสข้อผิดพลาด จากนั้น Java ได้นำเสนอบล็อก try-catch ทำให้การจัดการข้อผิดพลาดมีความสง่างามมากขึ้น
ทางเลือกที่แตกต่างไปจาก try-catch
ที่เดิม ได้แก่ try-with-resources
สำหรับการปิดรีซอร์สโดยอัตโนมัติและโค้ดที่สะอาดขึ้น ซึ่งได้รับการแนะนำใน Java 7
รายละเอียดของการประยุกต์ใช้มีความสำคัญ เช่น การจับ Exception
หรือ Throwable
มักจะเป็นปฏิบัติการที่ไม่ดี เพราะมันกว้างเกินไป ทำให้คุณอาจไม่ทันสังเกตุความผิดพลาดที่ไม่ทราบอยู่ ควรยึดติดกับข้อยกเว้นที่เฉพาะเจาะจง
ดูเพิ่มเติม
- แบบฝึกหัดอย่างเป็นทางการจาก Oracle เกี่ยวกับข้อยกเว้น: https://docs.oracle.com/javase/tutorial/essential/exceptions/
- เอกสารของการแสดงคำสั่ง
try-with-resources
ใน Java: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html - Effective Java โดย Joshua Bloch, สำหรับปฏิบัติที่ดีที่สุดเกี่ยวกับข้อยกเว้น