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ầntry
. - Mệnh đề
finally
cho phép thực hiện một khối mã sau khi hoàn thành cả phầntry
lẫn phầnexcept
.
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.