🎯 Xử lý ngoại lệ (Exception Handling) trong Python
Ngoại lệ xảy ra khi một lỗi xuất hiện trong quá trình thực thi chương trình, ví dụ: chia cho 0, truy cập tệp không tồn tại, hoặc lỗi cú pháp.
Python cung cấp cơ chế xử lý ngoại lệ để chương trình không bị dừng đột ngột khi gặp lỗi.
try:
# Code có thể gây ra lỗi
x = 10 / 0
except ZeroDivisionError:
print("Lỗi: Không thể chia cho 0.")
📌 Giải thích:
try:: Chứa code có khả năng gây lỗi.
except:: Bắt lỗi cụ thể (ở đây là ZeroDivisionError).
try:
x = int("abc")
except ValueError:
print("Lỗi chuyển đổi dữ liệu!")
except ZeroDivisionError:
print("Lỗi chia cho 0!")
try:
x = 5 / 1
except ZeroDivisionError:
print("Lỗi chia cho 0!")
else:
print("Không có lỗi xảy ra.")
finally:
print("Luôn luôn thực hiện khối lệnh này.")
🔎 Kết quả:
Không có lỗi xảy ra.
Luôn luôn thực hiện khối lệnh này.
else:: Thực thi khi không có lỗi xảy ra.
finally:: Luôn được thực thi, dù có lỗi hay không (dùng để đóng file, kết nối database...).
try:
x = 10 / 0
except Exception as e:
print(f"Có lỗi xảy ra: {e}")
age = -5
if age < 0:
raise ValueError("Tuổi không thể âm!")
try:
with open("data.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("Lỗi: File không tồn tại!")
Ngoại lệ Mô tả
ZeroDivisionError Chia cho 0
ValueError Giá trị không hợp lệ
FileNotFoundError Tệp không tồn tại
TypeError Sai kiểu dữ liệu
IndexError Truy cập chỉ mục ngoài phạm vi
Trong quá trình phát triển phần mềm, lỗi là điều không thể tránh khỏi. Để đảm bảo chương trình hoạt động ổn định và tránh bị gián đoạn khi gặp lỗi, Python cung cấp cơ chế xử lý ngoại lệ (Exception Handling) thông qua khối lệnh try-except, giúp phát hiện và xử lý các tình huống bất thường một cách linh hoạt.