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

156


               ในภาษา Java นั้นจะมีกลไกส าหรับการดักจับข้อผิดพลาดโดยจะท าการโยน (throw) ความผิดพลาดที่เกิดขึ้น

                                                     ิ
               ให้กับส่วนชุดค าสั่งที่มีหน้าที่จัดการกับความผดพลาดทเกิดขึ้น โดยใช้งาน class Exception ซึ่งเป็นส่วนหนึ่งของ
                                                            ี่
               class Throw able

               ความแตกต่างระหว่าง Error และ Exception

                       Error และ Exception นั้นถือเป็นความผิดพลาดที่เกิดขึ้นในโปรแกรมเช่นเดียวกัน ข้อแตกต่าง ระหว่าง

               Error และ Exception คือ Error เป็นความผิดพลาดที่โดยทั่วไปแล้วไม่สามารถจัดการได้ เมื่อเกิด Error ขึ้นอาจ
               ส่งผลให้การท างานของโปรแกรมล้มเหลวได้ ตัวอย่างของ Error ที่อาจเกิดขึ้นในภาษา Java เช่น java.lang

               .DutOfMemoryError หน่วยความจ า, Java. Lang No ClassDefFoundError ไม่พบ class ที่ก าหนดและ
               java.lang .UnSupportedClassVersionError เวอร์ชั่นของ class ไม่ได้รับการรองรับ เป็นต้น


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

                                                                                   ิ
                                                                         ั
               กับที่ก าหนด เป็นต้น ซึ่งความผดพลาดที่เกิดขึ้นนี้ สามารถดักจับและจดการกับข้อผดพลาดที่เกิดขึ้น เพื่อให้
                                         ิ
               โปรแกรมสามารถท างานต่อไปได  ้
               ประเภทของ Error และ Exception  ที่พบบ่อยๆ

                       ประเภทของ Error และค าอธิบาย


                                    Error                      ค าอธิบาย

               AWTE Error(java.awt )                           Error ทั่วไปแสดงถึงการเกิดปัญหาขึ้นกับpackage


                                                               ชื่อ java.awt

               ClassFormatError                                Format ของ Byte code ในClass fileมีปัญหา

               Error(java lang)                                Root ของ Error Hierarchy


               ExceptionInitializeError(java lang)             เกิด Exception ขึ้นในStatic Initializer

               IllegalaccessError(java lang)                   มีการเรียกใช้ class method หรือVariable ที่ไม่

                                                               สามารถใช้ได  ้


               IncompatibleclasschangeError(java lang)         มี Operation ที่ไม่ถูกต้องเกิดขึ้นกับclass

               Instantiations Error(java lang)                 มีการ Initialize Abstract class หรือ Interface

               Internal Error (java. Lang)                     เกิดปัญหากับ Interpreter


               NoClassDefFoundError (java. Lang)               ไม่พบนิยามของ Class ที่ระบุ
   151   152   153   154   155   156   157   158   159   160   161