Lỗi ngoại lệ trong Python là lỗi gì? Cách xử lý chi tiết


Những người mới bắt đầu học lập trình ngôn ngữ thường có thắc mắc lỗi ngoại lệ trong Python là lỗi gì. Kiến thức này vô cùng quan trọng và cần thiết để quá trình xử lý lập trình được diễn ra hiệu quả. Trong bài viết này, chúng ta sẽ cùng tìm hiểu khái niệm, nguyên nhân xảy ra và cách xử lý lỗi ngoại lệ thường gặp trong Python.
Lỗi ngoại lệ trong Python là lỗi gì? Nguyên nhân
Lỗi ngoại lệ (exception) trong Python là những lỗi xảy ra trong quá trình chạy chương trình, khiến chương trình bị dừng lại hoặc không thể tiếp tục thực hiện như bình thường. Trong lập trình Python, lỗi ngoại lệ có thể xuất hiện bởi nhiều nguyên nhân phổ biến như:
- Thực hiện phép chia cho 0
- Dùng sai kiểu dữ liệu trong phép toán hoặc hàm
- Truyền sai giá trị cho hàm hợp lệ về cú pháp
- Cố mở một tệp không có
- Sai chính tả tên biến hoặc hàm

Các mã lỗi ngoại lệ phổ biến trong Python
Bên cạnh việc tìm hiểu lỗi ngoại lệ trong Python là lỗi gì, bạn cũng nên tìm hiểu về định nghĩa của một số mã lỗi ngoại lệ thường gặp trong Python:
- ZeroDivisionError: Một lỗi ngoại lệ trong Python, xuất hiện khi chạy chương trình chia cho 0.
- IndexError: Lỗi xuất hiện khi thực hiện truy cập một chỉ số nào đó không có trong phạm vi danh sách.
- NameError: Xảy ra khi bạn cố gắng sử dụng một hàm hoặc tên không có trong chương trình (tức là Python không biết bạn đang nhắc đến cái gì).
- TypeError: Xuất hiện khi thực hiện các kiểu dữ liệu không hợp lệ với nhau.
- ValueError: Một lỗi ngoại lệ trong Python, xuất hiện khi truyền giá trị không hợp lệ cho hàm.
- KeyError: Xuất hiện đối với trường hợp cố gắng truy cập một khóa mà nó không có trong từ điển.
Bạn đang tìm kiếm một chiếc laptop mạnh mẽ, thông minh để nâng cao hiệu suất công việc? Laptop AI chính là lựa chọn đột phá, giúp bạn lập trình nhanh hơn, xử lý tác vụ phức tạp mượt mà và tận dụng tối đa sức mạnh trí tuệ nhân tạo. Tham khảo ngay một số sản phẩm laptop AI được tin dùng tại CellphoneS dưới đây, giá giảm cực sốc cho học sinh - sinh viên.
[Product_Listing categoryid="2197" propertyid="" customlink="https://cellphones.com.vn/laptop/ai.html" title="Tham khảo danh sách laptop AI được quan tâm tại CellphoneS!"]
Cách xử lý lỗi ngoại lệ trong Python
Sau khi đã tìm hiểu lỗi ngoại lệ trong Python là gì, thông tin tiếp theo mà Sforum muốn giới thiệu đến bạn chính là cách thức xử lý khi gặp phải. Khi viết chương trình, việc xuất hiện lỗi này là điều khó tránh khỏi, đặc biệt với những thao tác liên quan đến người dùng, tệp tin hoặc dữ liệu không xác định. Chính vì thế, biết xử lý ngoại lệ trong Python đúng cách sẽ giúp chương trình khởi chạy ổn định và chuyên nghiệp hơn.
Dùng try...except để bắt lỗi
Khi chương trình bị dừng do lỗi ngoại lệ, bạn có thể dùng try…except để bắt lỗi như sau:
Bước 1: Nhập “try:” ở dòng nằm trước dòng xảy ra lỗi ngoại lệ.
Bước 2: Đưa các lệnh thực hiện ban đầu vào trong khối try.
Bước 3: Nhập “except:” lỗi ngoại lệ ở dòng nằm bên dưới các lệnh xảy ra lỗi.
Bước 4: Nhập lệnh in trong “print:”, sau đó tiến hành chạy lại chương trình để nhận thông báo lỗi trong except.

Áp dụng khối else và finally để xử lý toàn diện
Bên cạnh try và except, Python cung cấp thêm hai khối là else và finally giúp xử lý linh hoạt và rõ ràng hơn.
- else: Chạy khi không có lỗi xảy ra trong khối try.
- finally: Luôn chạy dù có lỗi hay không, thường dùng để giải phóng tài nguyên (đóng file, ngắt kết nối,...).
Cách áp dụng else và finally để xử lý ngoại lệ trong Python cũng được thực hiện qua việc nhập lệnh và chạy lại chương trình như try…except.
Tạo ngoại lệ tùy chỉnh bằng cách sử dụng raise
Trong một số tình huống, bạn cần tự định nghĩa và chủ động đưa ra lỗi khi điều kiện nào đó không được đáp ứng, Python sẽ cho phép làm điều này với từ khóa raise.
Bước 1: Comments lại toàn bộ lệnh đã thực thi trước đó.
Bước 2: Định nghĩa một hàm mới ở dòng tiếp theo.
Bước 3: Dùng lệnh raise tạo lỗi ngoại lệ Exception.
Bước 4: Tiếp tục hoàn thành lệnh chương trình và thực hiện khởi chạy để kiểm tra kết quả.

Một số ví dụ minh họa xử lý lỗi ngoại lệ
Trong thực tế, người dùng có thể nhập sai định dạng hoặc cung cấp dữ liệu không hợp lệ, gây ra lỗi khi chạy chương trình Python. Việc bắt gặp và xử lý các lỗi ngoại lệ này sẽ giúp chương trình hoạt động ổn định và thân thiện hơn. Dưới đây là hai ví dụ cụ thể mà bạn có thể tham khảo để biết cách xử lý khi gặp phải.
Bắt lỗi nhập liệu sai định dạng số
Khi yêu cầu người dùng nhập một số nguyên, nếu họ nhập chữ cái hoặc ký tự không thuộc định dạng số, chương trình sẽ hiển thị lỗi ValueError. Để tránh chương trình bị dừng đột ngột, ta sử dụng khối try...except để bắt lỗi này và hiển thị thông báo phù hợp, giúp người dùng hiểu và nhập lại đúng định dạng.
try:
number = int(input("Nhập một số nguyên: "))
print("Số bạn vừa nhập là:", number)
except ValueError:
print("Lỗi: Định dạng nhập không đúng, hãy nhập một số nguyên.")

Bắt lỗi nhập liệu sai định dạng tuổi
Tuổi hợp lệ phải là một số nguyên không âm. Nếu người dùng nhập chữ, số thập phân hoặc số âm, chương trình có thể gây lỗi hoặc cho ra kết quả không mong muốn. Ta có thể kết hợp try...except với raise để kiểm tra và xử lý cả lỗi định dạng lẫn giá trị logic, đồng thời đưa ra thông báo rõ ràng cho người dùng.
try:
age = int(input("Nhập tuổi của bạn: "))
if age < 0:
raise ValueError("Tuổi không thể âm.")
print("Tuổi của bạn là:", age)
except ValueError as e:
print(e)
Qua bài viết, hy vọng bạn đã nắm vững kiến thức lỗi ngoại lệ trong Python là lỗi gì và các nguyên nhân xảy ra. Đồng thời biết cách xử lý lỗi ngoại lệ thường gặp trong Python để viết mã an toàn, ổn định và chuyên nghiệp hơn. Theo dõi bài viết mới của Sforum mỗi ngày để liên tục cập nhật kiến thức mới hữu ích trong lập trình và nhiều lĩnh vực khác.
Xem thêm bài viết trong chuyên mục: Ứng dụng/phần mềm, Python cơ bản

Bình luận (0)