try exception นั้นเป็นวิธีในการดักตัว error ให้แสดงค่าเป็นแบบที่เราต้องการ เพราะโปรแกรมของเรามี error บางอันจะทำให้โปรแกรมนั้นทำงานต่อไม่ได้และหยุดทำงานปิดตัวลง ซึ่งในภาษาอื่นๆจะเรียกกันว่า try catch ซึ่งหลักการก็คือจะใช้งาน Try ในการคลุมโค้ดส่วนที่เราต้องการจะดัก error ทั้งหมด และจะต้องมี exception ตามด้วยชนิดของ error พร้อมด้วยคำที่เราต้องการจะให้แสดงเมื่อเจอ error
วิธีการ
โดยจะขอพูดถึงประเภทของการดัก except กันก่อนนะครับเนื่องจากว่าคำสั่ง except นั้นเป็นส่วนที่ดัก error ได้หลายประเภทจะขอยกตัวอย่างที่ใช้งานบ่อยๆเช่น
- Arithmeticerror - เป็นการดักจับข้อผิดผลาดในการคำนวณคณิตศาสตร์ ซึ่งแบ่งออกเป็น 3 ประเภทก็คือ
- FloatingPointError - เป็นการดักเรื่องชนิดข้อมูลเลขทศนิยมไม่ถูกต้อง
- OverflowError - เป็นการดักเรื่องผลของการคำนวณมีค่าใหญ๋กว่าค่าที่กำหนด
- ZeroDivisionError - เป็นการดักเรื่องการหารกับเลข 0
- NameError - เป็นการดักข้อผิดผลาดของการไม่พบตัวแปร
- AttributeError - เป็นการดักข้อผิดผลาดส่วนของการกำหนด Attribute ไม่ถูกต้อง
- และถ้าหากว่าไม่มีการกำหนดก็จะเป็นการรวม Error ทุกประเภท
เป็นการดักเรื่องของการหารเลข 0 เมื่อพบ Error ในส่วนที่เราคลุม Try เอาไว้จะมาทำงานในโค้ดส่วนของ Exceptดังโค้ดตัวอย่าง
โค้ด: เลือกทั้งหมด
try:
print(5+0)
print(5-0)
print(5*0)
print(5/0)
except ZeroDivisionError:
print("การหารไม่สามารถหารกับเลข 0 ได้นะจ๊ะ")
- 5+0 จะได้ 5
- 5-0 จะได้ 5
- 5*0จะได้ 0
- 5/0 ไม่ได้และตรงกับเงื่อนไขของ except ZerodivisionError จึงทำให้ไปรันโค้ดในส่วนของ except แทนก็จะแสดงเป็น การหารไม่สามารถหารกับเลข 0 ได้นะจ๊ะ
จะขอสรุปเอาไว้ว่า try exception นั้นเป็นโค้ดที่เอาไว้สำหรับการดัก Error ในส่วนต่างๆของโค้ดของเราเพื่อป้องการปิดตัวของโปรแกรมและเกิดการ Not respond แสดงข้อความในส่วนที่ Error และจะยังทำไมโปรแกรมของเรานั้นยังทำงานต่อได้ไม่ปิดตัว ซึ่งโดยปกติถ้าหากว่าโปรแกรมของเรานั้นเจอกับ Error การทำงานทั้งหมดของโค้ดจะหยุดตัวลงและทำงานต่อไปไม่ได้ และเราก็จะไม่รู้ว่าโค้ดส่วนนั้นมี Error อะไรซึ่งเราสามารถที่จะเอา คำสั่งนี้มาใช้งานแก้ปัญหาในส่วนนี้ได้ครับ
อ้างอิงค์
https://www.w3schools.com
คัมภีร์ Python ฉบับสมบูรณ์ (อรพิน ประวัติบริสุทธฺ์)
https://www.mindphp.com/developer/tips- ... ython.html