ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยKultilda Chaipoowapat ได้เปลี่ยน 10 ปีที่แล้ว
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
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");
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.