งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Object Oriented Programming Handling Exceptions

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Object Oriented Programming Handling Exceptions"— ใบสำเนางานนำเสนอ:

1 Object Oriented Programming Handling Exceptions

2 Chapter Objectives See how a try/catch block is used to handle exceptions Discover how to throw and rethrow an exception Learn how to handle events in a program

3 Exception Exception คือ ความผิดพลาดที่เกิดขึ้นในขณะที่โปรแกรมกำลังทำงานซึ่งสามารถตรวจสอบความผิดพลาดที่เกิดขึ้นได้ เช่น การหารตัวเลขใด ๆ ด้วยศูนย์ เช่น 3/0 พยายามเปิดไฟล์ที่ไม่มีในโฟล์เดอร์ของเรา อ้างอิงถึงข้อมูลใน Array ที่อยู่นอกเหนือจากที่มีอยู่

4 Java’s Exception Class
Exception Class คือ class ที่ใช้ในการตรวจสอบความผิดพลาดในการทำงานในระหว่างที่ execute-time ซึ่งสามารถแบ่งความผิดพลาดได้หลายอย่างดังนี้ I/O exceptions Number format exceptions File not found exceptions Array index out of bounds exceptions ในขณะที่ java กำลังทำงาน หากมีความผิดพลาดเกิดขึ้น java ก็จะสร้าง instance ของ class Exception แล้วโยน (throw) ความผิดพลาดนั้นไปยังตำแหน่งที่เกิดความผิดพลาด

5 ตัวอย่าง Exception Classes

6 Exception ที่สําคัญและพบบ่อยในการเขียนโปรแกรมภาษาจาวา มีดังนี้
NullPointerException เป็นข้อผิดพลาดที่เกิดจากการเรียกใช้ออบเจกที่ยังไม่ได้ถูกสร้าง (ออบเจกมีค่าเป็น null) ArithmeticException เป็นข้อผิดพลาดที่เกิดจากการหารจํานวนต็มด้วย 0 ArrayIndexOutOfBoundsException เป็นข้อผิดพลาดที่เกิดจากการอ้างอิงสมาชิกในอะเรยไม่ถูกต้อง (น้อยกว่า 0 หรือเกินกว่าสมชิกของอะเรย์ที่มีอยู่)

7 NumberFormatException
เป็นข้อผิดพลาดที่เกิดจากรูปแบบตัวเลขที่ใช้ไม่ถูกต้อง FileNotFoundException เป็นการระบุว่าไม่พบไฟล์ที่ต้องการ EOFException เป็นการระบุว่าตําแหน่งสิ้นสุดของไฟล์ผ่านมาแล้ว IOException เป็นข้อผิดพลาดที่เกิดจากการรับและส่งข้อมูล

8 Example Exception Throw
public class ExceptionDemo { public static void main(String args[]) int a,b,c; a = 5; b = 0; c = a/b; System.out.println(c); }

9 Example Exception Throw (cont.)
public class ExceptionDemo { public static void main(String args[]) int a[] = {1,2,3}; System.out.println(a[-1]); }

10 การจัดการกับขอผิดพลาดที่เกิดขึ้น (Exception Handling)
ในภาษาจาวามีชุดคําสั่งในการจัดการขอผิดพลาด • try-catch • throw

11 try-catch • รูปแบบ try-catch บล็อก try คือการจัดการกลุมคําสั่งที่อาจเกิดขอผิดพลาด จะทําการสงออบเจกต Exception เพื่อสงไปจัดการตอไป บล็อก catch คือคําสั่งภายในบล็อกจะทําการจัดการกับขอผิดพลาดที่เกิดขึ้น โดยจะตองระบุชนิดออบเจกตของคลาส Exception ที่ตองการจัดการ

12 [statements] ที่อยู่ในบล็อก try คือประโยคคําสั่งที่อาจเกิดขอผิดพลาด
ExceptionType คือคลาสประเภท Exception ที่ต้องจัดการเมื่อมีข้อผิดพลาดเกิดขึ้น parameterExceptionName คือชื่อออบเจกที่เป็นพารามิเตอร์ที่ใช้จัดการข้อผิดพลาดในบล็อก catch [statements] ที่อยู่ในบล็อก catch คือประโยคคําสั่งที่จัดการกับข้อผิดพลาดของออบเจกชื่อ parameterExceptionName

13

14

15

16

17

18 การจัดการ Exceptions ด้วย Java
การดักจับ exception ต้องใช้คำสั่ง try-catch block ดังนี้ try{ //statements } catch(ExceptionClassName1 objRef1){ //exception handler code catch(ExceptionClassName2 objRef2){ ... catch(ExceptionClassNameN objRefN){ finally{

19 ตัวอย่างการใช้ try-catch block
public class ExceptionDemo { public static void main(String args[]){ int a,b,c; a = 5; b = 0; try{ c = a/b; System.out.println(c); } catch(ArithmeticException e){ System.out.println(e); finally{ System.out.println("End");

20 ตัวอย่างการใช้ try-catch block (cont.)
public class ExceptionDemo { public static void main(String args[]) int a[] = {1,2,3}; try{ System.out.println(a[4]); } catch(ArithmeticException e){ System.out.println(e); catch(ArrayIndexOutOfBoundsException e){ finally{ System.out.println("End");

21 ตัวอย่างการใช้ try-catch block (cont.)
ถ้าเราไม่ทราบชื่อหรือจำชื่อคลาสของ exception ที่ดักจับไม่ได้เราก็ใช้ Exception เป็นพารามิเตอร์ของ Catch block แทนได้ public class ExceptionDemo { public static void main(String args[]) int a[] = {1,2,3}; try{ System.out.println(a[4]); } catch(Exception e){ System.out.println(e); finally{ System.out.println("End");

22 Finally Block โดยปกติโปรแกรมจะดำเนินงานใน try block หรือ catch block แล้วจะต้องดำเนินคำสั่งสุดท้ายเสมอก็คือ finally block เพื่อการทำงานบางอย่างเช่น ปิดไฟล์ หรือ คืนหน่วยความจำให้กับระบบ เป็นต้น

23 ตัวอย่าง finally block
public class ExceptionDemo { public static void main(String args[]){ for(int i = -2;i <= 2 ;i++) try{ System.out.println(10/i); } catch(Exception e){ System.out.println("Catch Block"); break; finally{ System.out.println("Finally Block");


ดาวน์โหลด ppt Object Oriented Programming Handling Exceptions

งานนำเสนอที่คล้ายกัน


Ads by Google