Exception ตอนที่ 1 – ความหมาย

Exception ที่เราเรียกกันติดปากนั้นความจริงมันคือคำย่อของ Exceptional Event ผมเรียกว่า เหตุการณ์ที่ไม่คาดฝัน ซึ่งคำนิยาม1อย่างเป็นทางการผมแปลได้ว่า

Exception คือเหตุการณ์ที่เกิดขึ้นตอนโปรแกรมกำลังทำงานแล้วไปขัดจังหวะ flow ของชุดคำสั่งปกติที่เขียนไว้

ยกตัวอย่างเหตุการณ์ในชีวิตประจำวัน


เช่นเหตุการณ์ปกติของการไปซื้อของที่เซเว่น เราปั่นจักรยาน (หากต้องการความสมจริงก็สมมุติว่าเป็นมอเตอร์ไซต์ก็ได้) จากบ้านไปซื้อของกินที่ร้านสะดวกซื้อและกลับบ้าน ส่วนเหตุการณ์ไม่คาดฝันคือมีสุนัขวิ่งตัดหน้าทำให้เราล้มเป็นแผลจนทำให้ไม่สามารถไปซื้อของกินได้ (ถึงอาจจะฝืนไปจนถึงเซเว่นแต่ก็อาจจะได้ยาล้างแผลหรือไปหาหมอก็ได้) ซึ่งไม่ได้เป็น flow ปกติของการไปซื้อของกิน

อีกตัวอย่างที่ผมเพิ่งเจอมาคือเมื่อตอนเที่ยงผมได้ต้มน้ำร้อนเพื่อลวกมาม่า แต่เกิดเหตุการณ์ไม่คาดฝันคือกระทะไฟฟ้าเกิดช็อตและมีควันขึ้น ทำให้ไม่สามารถต้มน้ำร้อนต่อได้และวันนั้นอดกินมาม่า

ยกตัวอย่างในการเขียนโปรแกรม


ถ้าเราต้องพัฒนาฟอร์มสำหรับการลงทะเบียนแล้วต้องนำข้อมูลนั้นไปบันทึกในฐานข้อมูลแล้วไปแสดงผลว่าบันทึกสำเร็จแล้ว เหตุการณ์ที่ไม่คาดฝันคือไม่สามารถติดต่อฐานข้อมูลได้จึงเป็นสาเหตุให้ไม่สามารถทำการบันทึกข้อมูลที่ผู้ใช้งานกรอกเข้ามาได้ (หากเกิดกรณีที่มีรหัสผู้ใช้งานถูกลงทะเบียนไปก่อนหน้า หรือลืมกรอกเข้ามาไม่ถือว่าเป็นเหตุการณ์ที่ไม่คาดฝัน เนื่องจากมีโอกาสเกิดขึ้นได้อยู่แล้ว)

ส่งท้าย


ในตอนต่อไปจะพาไปดูว่าเหตุการณ์ที่ไม่คาดฝันใดสามารถรับมือได้ (Checked Exception) และเหตุการณ์ที่ไม่คาดฝันใดไม่สามารถรับมือได้ (Unchecked Exception)

อ้างอิง


  1. https://docs.oracle.com/javase/tutorial/essential/exceptions/definition.html

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s