Python try except คือ การเขียนโปรแกรมดักจับเหตุการณ์ที่คาดว่าอาจจะทำให้โปรแกรมเกิด Error หรือหยุดการทำงานลงได้ เราจะประยุกต์ใช้ try except กับการรับค่าตัวเลขจากผู้ใช้งาน โดยมีรายละเอียดดังนี้
ตัวอย่าง โค้ดที่ไม่ได้ใช้ try except
n = int( input('Please input number : ') )
print( 'n =',n )
ผลลัพธ์
Please input number : 99
n = 99
Please input number : text
Traceback (most recent call last):
File "D:\python\test.py", line 1, in <module>
n = int( input('Please input number : ') )
ValueError: invalid literal for int() with base 10: 'text'
พิจารณาปัญหาด้านบนกรณีไม่ได้ใช้ try except กรณีถ้าผู้ใช้งานกรอกตัวเลขโปรแกรมสามารถทำงานได้ตามปกติ แต่ถ้าผู้ใช้งานกรอกข้อมูลที่ไม่ใช่ตัวเลขจะส่งผลให้โปรแกรม Error และหยุดการทำงาน เนื่องจากไม่สามารถแปลงข้อมูลที่รับมาให้เป็นตัวเลขได้
ตัวอย่าง โค้ดที่ใช้ try except
try:
n = int( input('Please input number : ') )
except:
n = 0
print( 'n =',n )
ผลลัพธ์
Please input number : 99
n = 99
Please input number : text
n = 0
1. ใช้ try except กับส่วนที่คาดว่าอาจจะเกิด Error หรือข้อผิดพลาดได้ ปกติจะเป็นส่วนที่มีการรับค่าจากแหล่งต่างๆ เช่น input หรือ network เป็นต้น
2. ใช้ try กับส่วนที่ตาดว่าจะเกิดปัญหา หรือ Error
3. ใช้ except กับกรณีถ้าเกิด Error หรือปัญหา จะให้โค้ดทำงานอย่างไร ตัวอย่างคือ ให้ n = 0 (กรณีถ้าผู้ใช้งานไม่ได้กรอกข้อมูลเป็นตัวเลขเข้ามา)