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 ที่ระบุ

