ทุกภาษาโปรแกรมมีกลไกจัดการข้อผิดพลาด (Error handling) ซึ่งบางข้อผิดพลาดถูกกำหนดไว้ล่วงหน้าในคอมไพเลอร์ ใน Python มีโมดูล errno ที่เก็บรหัสข้อผิดพลาดมาตรฐาน (Standard error codes) บทความนี้จะแสดงวิธีดูรหัสข้อผิดพลาดและตัวอย่างการใช้งาน
รหัสข้อผิดพลาด (Error Codes)
โปรแกรมด้านล่างแสดงรายการรหัสข้อผิดพลาดและข้อความอธิบาย โดยใช้โมดูล errno ร่วมกับ os
ตัวอย่าง
import errno
import os
for i in sorted(errno.errorcode):
print(i, ':', os.strerror(i))
ผลลัพธ์ (บางส่วน)
1 : Operation not permitted 2 : No such file or directory 3 : No such process 4 : Interrupted function call ... ...
ตัวอย่างการใช้งานจริง
ตัวอย่างนี้แสดงการจับข้อผิดพลาด IOError เมื่อเปิดไฟล์ไม่เจอ (รหัส 2) และจัดการตามรหัสข้อผิดพลาด
ตัวอย่าง
try:
file_name = open('Data.txt') # 2 คือ 'No such file or directory'
except IOError as e:
if e.errno == 2:
print(e.strerror)
print("File to be printed not found")
# handle exception
elif e.errno == 9:
print(e.strerror)
print("File will not print")
ผลลัพธ์
No such file or directory File to be printed not found
การใช้ errno ช่วยให้เราจัดการข้อผิดพลาดได้เฉพาะเจาะจงและเขียนโค้ดที่ทนทาน (Robust) มากขึ้น