Phần 18 – Exception trong lập trình Python

Trong lập trình Python, một exception (ngoại lệ) là một sự kiện xảy ra trong quá trình thực thi chương trình, khi một lỗi hoặc tình huống bất thường xảy ra mà không thể được xử lý bình thường. Khi một exception xảy ra, nó làm gián đoạn quá trình thực thi bình thường của chương trình và chương trình chuyển đến một khối mã được xác định trước, được gọi là xử lý exception (exception handling).

Lập trình Python cung cấp cơ chế mạnh mẽ để xử lý exception. Các exception có thể là các lỗi cú pháp (syntax error), lỗi thời gian chạy (runtime error) hoặc các tình huống đặc biệt được định nghĩa trong các module hay thư viện.

Cú pháp cơ bản để xử lý exception trong Python là:

pythonCopy code
try:
    # Mã chương trình có thể xảy ra exception
except ExceptionType:
    # Xử lý exception

Trong đó:

  • Khối mã trong try là nơi chứa các câu lệnh có thể gây ra exception.
  • ExceptionType là loại exception mà bạn muốn xử lý. Ví dụ: ValueError, TypeError, ZeroDivisionError và nhiều loại exception khác.
  • Khối mã trong except là nơi xử lý exception. Bạn có thể cung cấp mã để xử lý exception hoặc in thông báo lỗi.

Dưới đây là một ví dụ đơn giản về xử lý exception trong Python:

pythonCopy code
try:
    x = 10 / 0  # Phép chia cho 0
except ZeroDivisionError:
    print("Lỗi: Không thể chia cho 0")

Khi chạy chương trình này, phép chia cho 0 trong khối try sẽ gây ra một ZeroDivisionError. Tuy nhiên, khối mã trong except ZeroDivisionError sẽ được thực thi và thông báo lỗi sẽ được in ra màn hình:

Lỗi: Không thể chia cho 0

Ngoài khối except, bạn cũng có thể sử dụng các khối elsefinally để bổ sung cho xử lý exception.

  • Khối else được thực thi nếu không có exception nào xảy ra trong khối try.
  • Khối finally được thực thi sau khi khối try và các khối except hoặc else đã được thực thi, dù có exception xảy ra hay không. Khối finally thường được sử dụng để giải phóng tài nguyên hoặc thực hiện các tác vụ cuối cùng.

Dưới đây là ví dụ sử dụng cả khối elsefinally:

try:
    x = int(input("Nhập một số nguyên: "))
except ValueError:
    print("Lỗi: Giá trị không hợp lệ")
else:
    print("Số bạn đã nhập là:", x)
finally:
    print("Chương trình đã kết thúc")

Trong ví dụ này, chương trình yêu cầu người dùng nhập một số nguyên. Nếu người dùng nhập không phải là số, một ValueError sẽ xảy ra và thông báo lỗi sẽ được in ra. Nếu người dùng nhập một số nguyên hợp lệ, số đó sẽ được in ra màn hình. Dù có exception xảy ra hay không, khối finally sẽ được thực thi để in thông báo kết thúc chương trình.

Exception handling giúp làm cho chương trình linh hoạt hơn, cho phép kiểm soát và xử lý các tình huống bất thường. Nó giúp tránh việc chương trình bị gián đoạn bởi lỗi và cho phép chương trình tiếp tục thực thi một cách kiểm soát trong lập trình python.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top