Xử lý lỗi và ngoại lệ trong Python

Trong Python, xử lý lỗi và ngoại lệ là một phần quan trọng của quá trình lập trình. Khi chạy một chương trình, có thể xảy ra các lỗi và ngoại lệ không mong muốn. Xử lý lỗi và ngoại lệ cho phép chương trình xử lý và thông báo về các tình huống không mong muốn này một cách linh hoạt và dễ đọc.

 

Xử lý lỗi thông thường (Exception Handling)

Trong Python, chúng ta sử dụng khối try-except để xử lý các lỗi thông thường. Cấu trúc try-except cho phép chương trình thực hiện một khối mã trong phần try, và nếu có lỗi xảy ra trong khối này, chương trình sẽ chuyển tới phần except để xử lý lỗi đó.

Ví dụ:

try:
    # Thử thực hiện một phép chia không hợp lệ
    result = 10 / 0
except ZeroDivisionError:
    print("Lỗi: Không thể chia cho 0.")

 

Xử lý ngoại lệ tổng quát (Handling General Exceptions)

Ngoài việc xử lý từng loại lỗi cụ thể, chúng ta cũng có thể sử dụng except mà không đặt tên cho loại lỗi cụ thể. Điều này giúp xử lý các ngoại lệ tổng quát mà chúng ta không biết trước.

Ví dụ:

try:
    # Thử thực hiện một phép chia không hợp lệ
    result = 10 / 0
except:
    print("Có lỗi xảy ra.")

 

Xử lý nhiều loại lỗi (Handling Multiple Exception Types)

Chúng ta cũng có thể xử lý nhiều loại lỗi khác nhau trong cùng một khối try-except bằng cách sử dụng nhiều mệnh đề except.

Ví dụ:

try:
    # Thử mở một tệp không tồn tại
    file = open("myfile.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("Lỗi: Tệp không tồn tại.")
except PermissionError:
    print("Lỗi: Không có quyền truy cập vào tệp.")

 

Mệnh đề else và finally

  • Mệnh đề else cho phép thực hiện một khối mã khi không có lỗi xảy ra trong phần try.
  • Mệnh đề finally cho phép thực hiện một khối mã sau khi hoàn thành cả phần try lẫn phần except.

Ví dụ:

try:
    num = int(input("Nhập một số nguyên: "))
except ValueError:
    print("Lỗi: Không phải số nguyên.")
else:
    print("Số bạn vừa nhập là:", num)
finally:
    print("Chương trình kết thúc.")

 

Xử lý lỗi và ngoại lệ trong Python giúp chương trình trở nên bền vững hơn và tăng tính ổn định. Khi xử lý lỗi đúng cách, chúng ta có thể cung cấp thông báo hoặc thực hiện các hành động phù hợp khi xảy ra các tình huống không mong muốn.