Exception handling trong Python được sử dụng để giải quyết các lỗi xảy ra trong quá trình thực thi chương trình, giúp chương trình không bị dừng lại hoặc crash.
Các ví dụ về exception handling trong Python:
Chia một số cho 0:
try:
result = 10/0
except ZeroDivisionError:
print("Không thể chia một số cho 0.")
Mở một file không tồn tại:
try:
f = open("file.txt", "r")
except FileNotFoundError:
print("File không tồn tại.")
Sử dụng một biến không được định nghĩa:
try:
print(x)
except NameError:
print("Biến chưa được định nghĩa.")
Trong đoạn mã trên, biến x
chưa được định nghĩa, do đó chương trình sẽ bị lỗi. Nhưng bằng cách sử dụng exception handling, chúng ta có thể xử lý lỗi và hiển thị một thông báo thay vì crash.
Một ví dụ về việc sử dụng exception handling trong Python trên môi trường Linux là khi ta muốn đọc nội dung của một tập tin nhưng không chắc chắn rằng tập tin đó tồn tại hoặc có thể đọc được hay không. Ta có thể sử dụng exception handling để xử lý các trường hợp lỗi xảy ra khi đọc tập tin.
Ví dụ, nếu ta muốn đọc nội dung của tập tin /etc/passwd
trên hệ thống Linux bằng Python, nhưng tập tin này không tồn tại hoặc không thể đọc được, ta có thể sử dụng exception handling để xử lý lỗi như sau:
try:
with open('/etc/passwd', 'r') as f:
content = f.read()
except FileNotFoundError:
print("File not found error: /etc/passwd")
except PermissionError:
print("Permission error: /etc/passwd")
else:
print(content)
Trong đoạn mã trên, ta sử dụng câu lệnh try-except
để xử lý các trường hợp lỗi có thể xảy ra khi đọc tập tin. Nếu tập tin /etc/passwd
không tồn tại, exception FileNotFoundError
sẽ được raise và chương trình sẽ in ra thông báo lỗi tương ứng. Nếu ta không có quyền truy cập vào tập tin, exception PermissionError
sẽ được raise và chương trình sẽ in ra thông báo lỗi tương ứng. Nếu không có lỗi nào xảy ra, nội dung của tập tin sẽ được đọc và in ra.