Python – User-defined Exception

Python – User-defined Exception สำหรับ python นั้น มี built-in exception ที่สร้างไว้ให้ใช้งานแล้วหลายชนิดตามที่กล่าวถึงไปในบทก่อนหน้านี้ เพื่อให้สามารถรองรับการเกิดข้อผิดพลาดในรูปแบบต่างๆ ที่สามารถเกิดขึ้นในโปรแกรม นอกจากข้อผิดพลาดในรูปแบบดังกล่าว เรายังสามารถที่จะกำหนดวิธีการรองรับข้อผิดพลาดชนิดใหม่ขึ้นเอง(user-defined exception) เพื่อจัดการข้อผิดพลาด หรือ ส่งข้อข้อมูลเฉพาะเจาะจงให้เหมาะสมตามรูปแบบข้อผิดพลาดนั้นได้อีกด้วย วิธีการสร้างการรองรับข้อผิดพลาดชนิดใหม่ๆ ขึ้นมาใช้งานเองนั้น(user-defined exception) สามารถทำได้โดยการสร้างคลาสใหม่สำหรับข้อผิดพลาดนั้น โดยคลาสใหม่ทุกคลาสที่จัดการกับข้อผิดพลาดนี้จะต้องเป็นคลาสที่สืบทอดมาจากคลาส Exception อาจจะเป็นการสืบทอดโดยตรง หรือ สืบทอดต่อกันมาอีกทอด(derived) จากคลาสต้นแบบที่เป็น built-in exception สำหรับคลาสที่เป็น built-in exception ทุกคลาสที่มีให้ใช้งาน ต่างเป็นเป็นคลาสที่สืบทอดมาจากคลาส Exception นี้เช่นเดียวกัน รูปแบบการสร้าง user-defined exception ที่สืบทอดมาจากคลาส Exception โดยตรง เราสามารถสร้าง user-defined exception ขึ้นมาใช้งานเอง โดยการสร้างคลาสขึ้นมาใหม่ และคลาสเหล่านี้จำเป็นต้องสืบทอดมาจากคลาส Exception โดยตรง หรือ คลาสอื่นๆ ที่สืบทอดมาจากคลาส Read more about Python – User-defined Exception[…]

Python – Exception Handling(Try, Except และ Finally)

Python – Exception Handling(Try, Except และ Finally) ทำความรู้จักกับ exception ในบทนี้เราจะมาพูดถึงขั้นตอนในการเขียนคำสั่งเพื่อดักจับข้อผิดพลาดในรูปแบบต่างๆ ที่อาจเกิดขึ้นได้ในโปรแกรมที่เราเขียนขึ้นมาใช้งาน จากบทที่แล้ว ที่เราได้พูดถึงชนิดของข้อผิดพลาดที่มีให้ใช้งานกันใน python(built-in exception) ซึ่งเมื่อเกิดข้อผิดพลาดในระหว่างการดำเนินการคำสั่งต่างๆ ก็จะมีการแจ้งข้อผิดพลาดนั้นออกมา โดยสามารถจะมีรูปแบบที่เฉพาะเจาะจงตามชนิดของข้อผิดพลาดนั้นๆ หรืออาจจะมีรูปแบบอธิบายข้อผิดพลาดแบบกว้างๆ ก็ได้ เมื่อเกิดข้อผิดพลาด(exceptions) ขึ้นในระหว่างการดำเนินการทำคำสั่ง หากเรามีการเขียนคำสั่งเพื่อจัดการกับข้อผิดพลาดได้ถูกต้องและครอบคลุมถึงชนิดข้อผิดพลาดดังกล่าว และมีการปรับคำสั่งรองรับให้เหมาะสม เราสามารถจะข้ามขั้นตอนที่ทำให้เกิดข้อผิดพลาดนั้นไป และไปทำงานในคำสั่งส่วนอื่นๆ หรืออาจจะให้โปรแกรมหยุดการทำงานแต่ก็แจ้งรายละเอียดข้อผิดพลาดที่เหมาะสมและเข้าใจง่ายได้ แต่หากเราไม่มีการเขียนคำสั่งเพื่อจัดการกับข้อผิดพลาดเลย อาจจะส่งผลให้โปรแกรมที่ดำเนินการอยู่หยุดลงทันที โดยไม่ได้ทำการบันทึกข้อมูลสำคัญ, จัดการกับข้อมูลที่ได้ประมวลผลก่อนหน้า หรือ ปรับข้อความให้เหมาะสมเผื่อให้ผู้ใช้งานสามารถเข้าใจถึงข้อผิดพลาดได้ง่าย ตัวอย่างเช่น ถ้าหากมีการเขียนโปรแกรมให้ฟังก์ชัน A เรียกใช้ฟังก์ชัน B ซึ่งเรียกใช้ฟังก์ชัน C อีกที แล้วมีข้อผิดพลาดเกิดขึ้นในฟังก์ชัน C ถ้าภายในฟังก์ชัน C มีการเขียนคำสั่งเพื่อจัดการข้อผิดพลาด โดยอาจเป็นการระบุค่าที่เหมาะสม หรือปรับอัลกอริทึมให้เหมาะสม แล้วแจ้งข้อมูลข้อผิดพลาดนั้นและวิธีแก้ไขให้ผู้ใช้ทราบเพื่อเป็นข้อมูล ก็สามารถข้ามไปทำคำสั่งอื่นๆ ต่อไปได้โดยไม่หยุดการทำงานของโปรแกรม แต่ถ้าไม่มีการเขียนคำสั่งเพื่อจัดการข้อผิดพลาด(handle exception) ไว้ในฟังก์ชัน C Read more about Python – Exception Handling(Try, Except และ Finally)[…]