Xử lý ngoại lệ try/except trong Python

Chương trình thực tế luôn gặp lỗi: file không tồn tại, dữ liệu sai định dạng, mất mạng… Xử lý ngoại lệ (exception) giúp chương trình không “sập” mà xử lý lỗi một cách có kiểm soát.

Cấu trúc try / except

try:
    so = int(input("Nhập số: "))
    ket_qua = 10 / so
except ValueError:
    print("Bạn phải nhập một số!")
except ZeroDivisionError:
    print("Không thể chia cho 0!")

else và finally

try:
    f = open("data.txt")
except FileNotFoundError:
    print("Không tìm thấy file")
else:
    print("Mở file thành công")   # chạy khi không có lỗi
finally:
    print("Luôn chạy dòng này")   # dọn dẹp

Bắt nhiều lỗi và lấy thông tin

try:
    ...
except (ValueError, TypeError) as e:
    print(f"Đã xảy ra lỗi: {e}")

Tự phát sinh ngoại lệ

def rut_tien(so_du, tien):
    if tien > so_du:
        raise ValueError("Số dư không đủ")
    return so_du - tien

Nguyên tắc xử lý lỗi tốt

  • Chỉ bắt lỗi cụ thể bạn biết cách xử lý, tránh except: trống.
  • Không nuốt lỗi im lặng — ít nhất hãy ghi log.
  • Dùng finally để dọn tài nguyên (đóng file, kết nối).

Xử lý ngoại lệ đúng cách là dấu hiệu của code chuyên nghiệp, bền bỉ trước những tình huống bất ngờ.

Lên đầu trang