Exception Introduction

Exception คือ สภาวะหรือการทำงานผิดปกติที่เกิดขึ้นและขัดขวางการทำงานปกติของโปรแกรมทำให้โปรแกรมหยุดการทำงานและไม่สามารถทำงานต่อไปได้

Exception Handling คือกลไกในการจัดการ exception ซึ่งจะทำการโอนการดำเนินการของ program ที่เกิด Exception ไปจัดการอย่างเหมาะสมเมื่อเกิด exception 

ทำไมต้องจัดการ ? เพื่อให้ application ของคุณที่เกิด exception นั้น ทำงานต่อไปได้พร้อมทั้งจัดการกับ exception นั้นด้วย

ตัวอย่างสถานะการณ์

Main
statement 1;
statement 2;
statement 3;  // เกิด exception 
statement 4;
statement 5;

จากสถานะการณ์ จุดมุ่งหมายของ program คือทำงานทั้ง 5 statement แต่ดันเกิด exception  ที่ statement 3 ทำให้ statement 4,5 ส่วนที่เหลือของโปรแกรมจะไม่ถูกดำเนินการ แต่ถ้ามีการจัดการกับ exception ที่เกิดขึ้น statement 4,5 ซึ่งเป็นส่วนที่เหลือก็จะดำเนินการต่อจนจบ

Hierarchy of Java Exception Classes


ประเภทของ Exception มี 3 ประเภท 

1) Checked Exception 
เป็น Class ที่ extend Throwable ยกเว้น RuntimeException และ Error ซึ่งจะ checked exception ที่ compile-time 

2) Unchecked Exception
เป็น Class ที่ extend RuntimeException ไม่ได้  checked exception ที่ compile-time แต่จะ checked exception ที่ runtime

3) Error
เป็น Class ที่ extend Throwable ไม่รวม Class Exception ซึงเป็นความผิดปกติที่จัดการไม่ได้เมื่อเกิดขึ้น

ตัวอย่าง code ที่ทำให้เกิด Exception

หารด้วย 0
int ans = 100/0;  //ArithmeticException

ค่าเป็น null 
String name = null;
System.out.println(name.length()); // NullPointerException

ผิดFormat
String name = "abc";
int ans = Interger.parseInt(name); //NumberFormatException

ระบุ Index ผิด
int a[] = new int[5];
a[10] = 50; // ArrayIndexOutofBoundsException

5 keywords ที่ใช้จัดการกับ exception ซึงจะกล่าวในบทความถัดไป
1.try
2.catch
3.finally
4.throw
5.throws


ไม่มีความคิดเห็น:

แสดงความคิดเห็น