Bảng tính ngoại lệ và lỗi tích hợp sẵn của Python
Hướng dẫn tham khảo các loại lỗi Python phổ biến. Tìm hiểu cách gỡ lỗi ValueError, TypeError, IndexError, KeyError và đưa ra các ngoại lệ.
Các ngoại lệ logic và giá trị chung
Các ngoại lệ thể hiện các hoạt động không khớp, thiếu chỉ mục hoặc lỗi biến đổi.
| Phương thức/Chức năng | Cú pháp | Mô tả |
|---|---|---|
| ValueError | int("abc") | Xảy ra khi một hàm nhận được đối số đúng loại nhưng có giá trị không phù hợp. |
| TypeError | "1" + 2 | Xảy ra khi một thao tác hoặc chức năng được áp dụng cho một đối tượng thuộc loại không phù hợp. |
| IndexError | my_list[10] | Xảy ra khi chỉ số thứ tự nằm ngoài phạm vi. |
| KeyError | my_dict["missing"] | Xảy ra khi không tìm thấy khóa từ điển. |
| AttributeError | my_str.append("x") | Xảy ra khi tham chiếu hoặc gán thuộc tính không thành công (ví dụ: gọi các phương thức danh sách trên chuỗi). |
Ngoại lệ về thời gian chạy và tài nguyên
Các sự cố thể hiện hệ thống tệp bên ngoài, sự cố tính toán hoặc lỗi cú pháp thực thi.
| Phương thức/Chức năng | Cú pháp | Mô tả |
|---|---|---|
| FileNotFoundError | open("missing.txt") | Xảy ra khi một tập tin hoặc thư mục được yêu cầu nhưng không tồn tại. |
| ZeroDivisionError | 1 / 0 | Xảy ra khi đối số thứ hai của phép chia hoặc phép toán modulo bằng 0. |
| SyntaxError | while True print("hi") | Xảy ra khi trình phân tích cú pháp gặp lỗi cú pháp. |
| NameError | print(undefined_variable) | Xảy ra khi không tìm thấy tên địa phương hoặc tên chung. |
| StopIteration | next(exhausted_iterator) | Được tăng lên bởi next() tích hợp để báo hiệu rằng trình lặp không có mục nào nữa. |
Tập lệnh demo tương tác
# ValueError
int("abc")
# TypeError
"1" + 2
# IndexError
my_list[10]
# KeyError
my_dict["missing"]
# AttributeError
my_str.append("x")
# FileNotFoundError
open("missing.txt")
# ZeroDivisionError
1 / 0
# SyntaxError
while True print("hi")
# NameError
print(undefined_variable)
# StopIteration
next(exhausted_iterator)Câu hỏi thường gặp
Làm cách nào để nắm bắt nhiều ngoại lệ trong Python?
Bạn có thể chỉ định chúng dưới dạng một bộ dữ liệu trong một khối ngoại trừ, ví dụ: ngoại trừ (ValueError, TypeError) là e:.
Khi nào tôi nên nêu ngoại lệ theo cách thủ công?
Đưa ra các ngoại lệ bằng cách sử dụng từ khóa raise khi xảy ra một điều kiện không mong muốn trong mã của bạn khiến việc thực thi bình thường bị ngăn cản, chẳng hạn như lỗi xác thực.
Chủ đề liên quan
Nắm vững các câu lệnh điều kiện, vòng lặp và cấu trúc điều khiển vòng lặp trong Python. Tìm hiểu if-else, for, while, break và continue.
Bảng cheat hoạt động của tệp PythonTham khảo nhanh về đọc và ghi tệp bằng Python. Nắm vững các chế độ mở, trình quản lý bối cảnh và đọc từng dòng.
Bảng ghi chú các hàm tích hợp trong PythonHướng dẫn tham khảo các hàm dựng sẵn của Python. Tìm hiểu cách sử dụng in, len, phạm vi, liệt kê, zip, bản đồ, bộ lọc, v.v.
Tài nguyên Python được đề xuất
Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.
Python Thử/Ngoại trừ & Xử lý lỗi
Ngăn chặn các tập lệnh Python của bạn bị lỗi. Tìm hiểu các khối thử, ngoại trừ, cuối cùng và cách đưa ra các ngoại lệ tùy chỉnh đúng cách.
Cách sắp xếp danh sách trong Python
Tìm hiểu cách sắp xếp danh sách trong Python bằng phương thức Sort() và hàm Sort(). Khám phá các ví dụ về sắp xếp khóa tùy chỉnh và thứ tự đảo ngược.
Python vs TypeScript: Tập lệnh động và Web an toàn kiểu
So sánh Python và TypeScript. Tìm hiểu về hệ thống loại cấu trúc, siêu dữ liệu trang trí, kiểm tra trình biên dịch, thời gian chạy web và công cụ dành cho nhà phát triển.