การจัดการข้อผิดพลาดใน Java (Error Handling in Java)
— java — 1 min read
การจัดการข้อผิดพลาด (Error Handling) เป็นส่วนสำคัญในการพัฒนาโปรแกรมด้วยภาษา Java เพื่อให้โปรแกรมสามารถจัดการกับข้อผิดพลาดที่อาจเกิดขึ้นได้อย่างเหมาะสม และรักษาความเสถียรในการทำงานของโปรแกรม
ในภาษา Java เราใช้สิ่งที่เรียกว่า "การจัดการข้อผิดพลาดด้วยการโยนขึ้น (Exception Handling)" เพื่อจัดการกับข้อผิดพลาดที่อาจเกิดขึ้นในระหว่างการทำงานของโปรแกรม
ตัวอย่างการใช้งานการจัดการข้อผิดพลาดในภาษา Java:
public class Main { public static void main(String[] args) { try { // โค้ดที่อาจเกิดข้อผิดพลาด int result = divide(10, 0); System.out.println("ผลลัพธ์: " + result); } catch (ArithmeticException e) { // จัดการข้อผิดพลาดที่เกิดขึ้น System.out.println("เกิดข้อผิดพลาดในการหารด้วยศูนย์"); } }
public static int divide(int dividend, int divisor) { return dividend / divisor; }}`
ในตัวอย่างข้างต้น เราใช้คำสั่ง try
เพื่อรอบคอบโค้ดที่อาจเกิดข้อผิดพลาด ในที่นี้เรามีการหารเลข 10 ด้วยศูนย์ ซึ่งเป็นการกระทำที่ผิดตามกฎการคณิตศาสตร์ ดังนั้นจะมีการเกิดข้อผิดพลาดแบบ ArithmeticException
เราใช้คำสั่ง catch
เพื่อจัดการกับข้อผิดพลาดที่เกิดขึ้น ในที่นี้เราจัดการกับ ArithmeticException
โดยแสดงข้อความที่บอกว่าเกิดข้อผิดพลาดในการหารด้วยศูนย์
การจัดการข้อผิดพลาดในภาษา Java ยังมีลักษณะอื่น ๆ เช่น finally
และ throws
ซึ่งให้คุณลองศึกษาต่อเพื่อเรียนรู้เพิ่มเติม สำหรับข้อความนี้เราจะเน้นการจัดการข้อผิดพลาดด้วยการใช้ try-catch
เบื้องต้น
นอกจาก catch
เพื่อจัดการกับข้อผิดพลาดที่เกิดขึ้นแล้ว ยังมีคำสั่ง finally
ที่ใช้เพื่อระบุบล็อกของโค้ดที่จะถูกทำงานเสมอไม่ว่าจะมีข้อผิดพลาดเกิดขึ้นหรือไม่ก็ตาม
ตัวอย่างการใช้งาน finally
ในภาษา Java:
public class Main { public static void main(String[] args) { try { // โค้ดที่อาจเกิดข้อผิดพลาด int result = divide(10, 0); System.out.println("ผลลัพธ์: " + result); } catch (ArithmeticException e) { // จัดการข้อผิดพลาดที่เกิดขึ้น System.out.println("เกิดข้อผิดพลาดในการหารด้วยศูนย์"); } finally { // โค้ดที่จะถูกทำงานเสมอ System.out.println("ทำงานในบล็อก finally"); } }
public static int divide(int dividend, int divisor) { return dividend / divisor; }}`
ในตัวอย่างข้างต้น เมื่อเกิดข้อผิดพลาดในการหารด้วยศูนย์ ArithmeticException
โปรแกรมจะเข้าสู่บล็อก catch
เพื่อจัดการกับข้อผิดพลาด และต่อมาโปรแกรมจะเข้าสู่บล็อก finally
เพื่อทำงานที่ถูกกำหนดไว้ไม่ว่าจะมีข้อผิดพลาดเกิดขึ้นหรือไม่ก็ตาม
คุณสามารถใช้ finally
เพื่อปิดทรัพยากรที่เปิดอยู่ เช่น การปิดไฟล์หรือการเชื่อมต่อฐานข้อมูล ที่จะต้องทำทุกครั้งที่โปรแกรมสิ้นสุดลง โดยทำงานทั้งในกรณีที่เกิดข้อผิดพลาดและไม่เกิดข้อผิดพลาด
นอกจากนี้ยังมีคำสั่ง throws
ที่ใช้ในการประกาศว่าเมธอดนั้นอาจเกิดข้อผิดพลาดประเภทใดบ้าง และให้ผู้เรียกใช้งานเมธอดนั้นจัดการกับข้อผิดพลาดนั้นเอง คุณสามารถศึกษาเ พิ่มเติมเกี่ยวกับ throws
เพื่อเรียนรู้การจัดการข้อผิดพลาดในระดับที่ลึกซึ้งขึ้นได้ ในที่นี้เราจะไม่นำเสนอตัวอย่างการใช้งาน throws
ในข้อความนี้