Lý do phổ biến nhất gây ra lỗi trong chương trình Python là khi một câu lệnh nào đó không phù hợp với cách sử dụng đã quy định. Lỗi như vậy được gọi là lỗi cú pháp. Trình thông dịch Python báo cáo ngay lập tức, thường kèm theo lý do
Thí dụ. Lỗi
Sao chép>>> print "hello"
SyntaxError: Missing parentheses in call to 'print'. Did you mean print["hello"]?
Trong Trăn 3. x, print là một chức năng tích hợp và yêu cầu dấu ngoặc đơn. Câu lệnh trên vi phạm cách sử dụng này và do đó lỗi cú pháp được hiển thị
Tuy nhiên, nhiều khi chương trình gây ra lỗi sau khi chạy ngay cả khi nó không có bất kỳ lỗi cú pháp nào. Lỗi như vậy là lỗi thời gian chạy, được gọi là ngoại lệ. Một số ngoại lệ tích hợp được định nghĩa trong thư viện Python. Hãy xem một số loại lỗi phổ biến
Bảng sau đây liệt kê các ngoại lệ tích hợp quan trọng trong Python
ExceptionDescriptionAssertionErrorRaised khi câu lệnh khẳng định không thành công. AttributeErrorRaised khi gán thuộc tính hoặc tham chiếu không thành công. EOFErrorRaised khi hàm input[] chạm vào điều kiện cuối tệp. FloatingPointErrorRaised khi thao tác dấu phẩy động không thành công. GeneratorExitRaised khi phương thức close[] của trình tạo được gọi. ImportErrorRaised khi không tìm thấy mô-đun đã nhập. IndexErrorRaised khi chỉ mục của chuỗi nằm ngoài phạm vi. KeyErrorRaised khi không tìm thấy khóa trong từ điển. KeyboardInterrupt Xảy ra khi người dùng nhấn phím ngắt [Ctrl+c hoặc xóa]. Lỗi bộ nhớ tăng lên khi một hoạt động hết bộ nhớ. NameErrorRaised khi không tìm thấy biến trong phạm vi cục bộ hoặc toàn cầu. NotImplementedErrorRaised bằng phương pháp trừu tượng. OSErrorRaised khi hoạt động của hệ thống gây ra lỗi liên quan đến hệ thống. Lỗi tràn Tăng lên khi kết quả của phép toán số học quá lớn để được biểu diễn. ReferenceError Xảy ra khi một proxy tham chiếu yếu được sử dụng để truy cập một tham chiếu được thu gom rác. RuntimeErrorRaised khi lỗi không thuộc bất kỳ danh mục nào khác. StopIteration Được hàm next[] nâng lên để cho biết rằng không có mục nào khác được trả về bởi trình vòng lặp. SyntaxErrorRaised bởi trình phân tích cú pháp khi gặp lỗi cú pháp. IndentationError Xảy ra khi có một vết lõm không chính xác. TabErrorRaised khi thụt đầu dòng bao gồm các tab và khoảng trắng không nhất quán. SystemErrorRaised khi trình thông dịch phát hiện lỗi nội bộ. SystemExitRaised bởi hệ thống. chức năng thoát []. TypeErrorRaised khi một chức năng hoặc thao tác được áp dụng cho một đối tượng thuộc loại không chính xác. UnboundLocalErrorRaised khi một tham chiếu được tạo cho một biến cục bộ trong một hàm hoặc phương thức, nhưng không có giá trị nào được liên kết với biến đó. UnicodeErrorRaised khi xảy ra lỗi mã hóa hoặc giải mã liên quan đến Unicode. UnicodeEncodeErrorRaised khi xảy ra lỗi liên quan đến Unicode trong quá trình mã hóa. UnicodeDecodeErrorRaised khi xảy ra lỗi liên quan đến Unicode trong quá trình giải mã. UnicodeTranslateErrorRaised khi xảy ra lỗi liên quan đến Unicode trong quá trình dịch. ValueErrorRaised khi một hàm nhận được một đối số đúng loại nhưng giá trị không đúng. ZeroDivisionError Xảy ra khi toán hạng thứ hai của phép chia hoặc phép toán modulo bằng 0
Chỉ mụcLỗi
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
1 bị ném khi cố gắng truy cập một mục tại một chỉ mục không hợp lệThí dụ. Chỉ mụcLỗi
Sao chép>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
ModuleNotFoundLỗi
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
2 bị ném khi không tìm thấy mô-đunThí dụ. ModuleNotFoundLỗi
Sao chép>>> import notamodule
Traceback [most recent call last]:
File "", line 1, in
import notamodule
ModuleNotFoundError: No module named 'notamodule'
Lỗi chính
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
3 bị ném khi không tìm thấy khóaThí dụ. Lỗi chính
Sao chép>>> D1={'1':"aa", '2':"bb", '3':"cc"}
>>> D1['4']
Traceback [most recent call last]:
File "", line 1, in
D1['4']
KeyError: '4'
Nhập Lỗi
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
4 được ném khi không tìm thấy chức năng được chỉ địnhThí dụ. Nhập Lỗi
Sao chép________số 8
Dừng lặp lại
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
5 được ném ra khi hàm >>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
6 vượt ra ngoài các mục của iteratorThí dụ. Dừng lặp lại
Sao chép>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
1LoạiLỗi
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
7 được ném 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ợpThí dụ. LoạiLỗi
Sao chép>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
3Giá trịError
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
8 bị ném khi đối số của hàm thuộc loại không phù hợpThí dụ. Giá trịError
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
5TênLỗi
>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
9 bị ném khi không tìm thấy đồ vậtThí dụ. TênLỗi
Sao chép>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
7ZeroDivisionLỗi
>>> import notamodule
Traceback [most recent call last]:
File "", line 1, in
import notamodule
ModuleNotFoundError: No module named 'notamodule'
0 được ném ra khi toán tử thứ hai trong phép chia bằng 0Thí dụ. ZeroDivisionLỗi
Sao chép>>> L1=[1,2,3]
>>> L1[3]
Traceback [most recent call last]:
File "", line 1, in
L1[3]
IndexError: list index out of range
9Bàn PhímNgắt
>>> import notamodule
Traceback [most recent call last]:
File "", line 1, in
import notamodule
ModuleNotFoundError: No module named 'notamodule'
1 được ném khi người dùng nhấn phím ngắt [thường là Control-C] trong khi thực hiện chương trình