ใน Python การจัดการข้อผิดพลาดและข้อยกเว้นเป็นส่วนสำคัญของกระบวนการตั้งโปรแกรม เมื่อเรียกใช้โปรแกรม อาจเกิดข้อผิดพลาดและข้อยกเว้นที่ไม่คาดคิด การจัดการข้อผิดพลาดและข้อยกเว้นทำให้โปรแกรมสามารถจัดการและรายงานสถานการณ์ที่ไม่คาดคิดเหล่านี้ได้อย่างยืดหยุ่นและในลักษณะที่สามารถอ่านได้
การจัดการข้อผิดพลาดทั่วไป( Exception Handling
)
ใน Python เราใช้ try-except
บล็อกเพื่อจัดการกับข้อผิดพลาดทั่วไป โครงสร้าง นี้ try-except
อนุญาตให้โปรแกรมดำเนินการบล็อกโค้ดใน try
ส่วนนั้น และหากเกิดข้อผิดพลาดในบล็อกนี้ โปรแกรมจะย้ายไปยัง except
ส่วนนั้นเพื่อจัดการกับข้อผิดพลาดนั้น
ตัวอย่าง:
try:
# Attempt to perform an invalid division
result = 10 / 0
except ZeroDivisionError:
print("Error: Cannot divide by zero.")
การจัดการข้อยกเว้นทั่วไป
นอกเหนือจากการจัดการข้อผิดพลาดบางประเภทแล้ว เรายังสามารถใช้ except
โดยไม่ระบุประเภทข้อผิดพลาดเฉพาะได้ อีกด้วย สิ่งนี้ช่วยจัดการกับข้อยกเว้นทั่วไปที่เราไม่ทราบล่วงหน้า
ตัวอย่าง:
try:
# Attempt to perform an invalid division
result = 10 / 0
except:
print("An error occurred.")
การจัดการข้อยกเว้นหลายประเภท
เรายังสามารถจัดการกับข้อผิดพลาดหลายประเภทใน try-except
บล็อกเดียวกันได้โดยใช้หลาย except
ส่วนคำสั่ง
ตัวอย่าง:
try:
# Attempt to open a non-existent file
file = open("myfile.txt", "r")
content = file.read()
except FileNotFoundError:
print("Error: File not found.")
except PermissionError:
print("Error: No permission to access the file.")
else
และ ข้อ finally
_
- ส่วน
else
คำสั่งอนุญาตให้ดำเนินการบล็อกของรหัสเมื่อไม่มีข้อผิดพลาดในtry
ส่วน - ประโยค
finally
อนุญาตให้เรียกใช้งานบล็อกของโค้ดหลังจากที่ทั้งสองtry
ส่วนexcept
เสร็จสิ้น
ตัวอย่าง:
try:
num = int(input("Enter an integer: "))
except ValueError:
print("Error: Not an integer.")
else:
print("The number you entered is:", num)
finally:
print("Program ends.")
การจัดการข้อผิดพลาดและข้อยกเว้น Python ทำให้โปรแกรมแข็งแกร่งขึ้นและเพิ่มความเสถียร เมื่อจัดการกับข้อผิดพลาดอย่างเหมาะสม เราสามารถส่งข้อความที่เหมาะสมหรือดำเนินการตามนั้นเมื่อเกิดสถานการณ์ที่ไม่คาดคิด