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ăngCú phápMô tả
ValueErrorint("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" + 2Xả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.
IndexErrormy_list[10]Xảy ra khi chỉ số thứ tự nằm ngoài phạm vi.
KeyErrormy_dict["missing"]Xảy ra khi không tìm thấy khóa từ điển.
AttributeErrormy_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ăngCú phápMô tả
FileNotFoundErroropen("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.
ZeroDivisionError1 / 0Xảy ra khi đối số thứ hai của phép chia hoặc phép toán modulo bằng 0.
SyntaxErrorwhile True print("hi")Xảy ra khi trình phân tích cú pháp gặp lỗi cú pháp.
NameErrorprint(undefined_variable)Xảy ra khi không tìm thấy tên địa phương hoặc tên chung.
StopIterationnext(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

run_all_cheat_methods.py
Chạy trong Trình chỉnh sửa
# 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

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.