Xử lý ngoại lệ (Exception Handling) trong Python

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.

🎯 Xử lý ngoại lệ (Exception Handling) trong Python

1️⃣ Ngoại lệ (Exception) là gì?

    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.

Xử lý ngoại lệ (Exception Handling) trong Python

✅ 2. Cú pháp cơ bản của try-except

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).

✅ 3. Bắt nhiều loại ngoại lệ

try:
    x = int("abc")
except ValueError:
    print("Lỗi chuyển đổi dữ liệu!")
except ZeroDivisionError:
    print("Lỗi chia cho 0!")

✅ 4. Sử dụng else và finally

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...).

✅ 5. Bắt tất cả các ngoại lệ

try:
    x = 10 / 0
except Exception as e:
    print(f"Có lỗi xảy ra: {e}")

✅ 6. Tự tạo ngoại lệ bằng raise

age = -5
if age < 0:
    raise ValueError("Tuổi không thể âm!")

✅ 7. Ví dụ thực tế: Đọc file

try:
    with open("data.txt", "r") as file:
        content = file.read()
except FileNotFoundError:
    print("Lỗi: File không tồn tại!")

✅ 8. Các loại ngoại lệ phổ biến trong Python

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

Bài viết liên quan:

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.