Page 158 - การเขียนโปรแกรมบนมาตรฐานเปิด
P. 158

158


               RuntimeException เป็นข้อผิดพลาดที่เกิดขึ้นในขั้นตอนการเขียนโปรแกรมเช่น

                        ArrayIndexOutOfBounsException เป็นความผิดพลาดที่เกิดจากการอ้างถึงสมาชิกใน array ไม่

               ถูกต้องเช่นมีการก าหนดสมาชิกของ array ไว้ 5 ต าแหน่งแต่มีการอ้างถึงสมาชิกในต าแหน่งที่ 6เป็นต้น

                        ArithmeticException เป็นข้อผิดพลาดที่เกิดจากการด าเนินการทางคณิตศาสเช่นการหารด้วยศูนย์

               เป็นต้น


                        NullpointerException เป็นความผดพลาดที่เกิดจากการอ้างถึงค่าที่เป็น Null เช่นกันเรียกใช้
                                                        ิ
               Object ที่ยังไม่ได้ถูกสร้างขึ้นเป็นต้น


               IOException เป็นข้อผิดพลาดที่ภาษา Java ก าหนดให้ต้องมีการจัดการหากมีการเรียกใช method ที่อาจเกิด
                                                                                         ้
               ข้อผิดพลาดประเภทนี้เช่น


                        EOFException เป็นความผิดพลาดทเกิดจากการระบุจุดสิ้นสุดของไฟล์ไม่ถูกต้อง
                                                         ี่
                        FileNotFoundException เป็นความผิดพลาดที่เกิดจากการไม่พบ File ที่ระบุ


               การจัดการข้อผิดพลาดที่เกิดขึ้นด้วย Exception


                                                        ้
                     การจัดการความผิดพลาดที่เกิดขึ้นโดยการใช Exception นั้นสามารถท าได้โดยการใช้งานชุดคาสั่ง2ค าสั่ง
               คือ ค าสั่ง try...catch และค าสั่ง throws

               การใช้งานค าสั่ง try...catch

                      มีการทางานที่คลายกับ if statement โดยที่หากตรวจพบความผิดพลาดในคาสั่งที่อยู่หลังค าสั่งtry
                                  ้


               โปรแกรมจะท าการตรวจสอบที่ค าสั่งcatch ว่าเป็นความผิดพลาดประเภทใดและจะท างานตามชุดค าสั่งที่อยู่หลัง
               ค าสั่งcatch ที่ตรงกับข้อผิดพลาดรูปแบบการใช้งานค าสั่ง try...catch มีดังนี้

               try {

               [ statements]


               }

               catch (TheException e) {

               [ statements_n]


               }

               finally{

               [finalStatements]


               }
   153   154   155   156   157   158   159   160   161   162   163