Hướng dẫn how many exceptions are there in python? - Có bao nhiêu ngoại lệ trong python?

Trong hướng dẫn này, bạn sẽ tìm hiểu về các loại lỗi và ngoại lệ khác nhau được tích hợp cho Python. Chúng được nuôi dưỡng bất cứ khi nào thông dịch viên Python gặp lỗi.

Video: Xử lý ngoại lệ Python

Chúng ta có thể mắc một số sai lầm nhất định trong khi viết một chương trình dẫn đến lỗi khi chúng ta cố gắng chạy nó. Một chương trình Python chấm dứt ngay khi nó gặp phải một lỗi không được xử lý. Những lỗi này có thể được phân loại thành hai lớp:

  1. Lỗi cú pháp
  2. Lỗi logic (ngoại lệ)

Lỗi cú pháp Python

Lỗi do không tuân theo cấu trúc thích hợp (cú pháp) của ngôn ngữ được gọi là lỗi cú pháp hoặc lỗi phân tích cú pháp.syntax error or parsing error.

Hãy xem xét một ví dụ:

>>> if a < 3
  File "", line 1
    if a < 3
           ^
SyntaxError: invalid syntax

Như được hiển thị trong ví dụ, một mũi tên cho biết nơi trình phân tích cú pháp chạy vào lỗi cú pháp.

Chúng ta có thể nhận thấy ở đây rằng một đại tràng : bị thiếu trong tuyên bố if.


Lỗi logic Python (ngoại lệ)

Các lỗi xảy ra trong thời gian chạy (sau khi vượt qua kiểm tra cú pháp) được gọi là ngoại lệ hoặc lỗi logic.exceptions or logical errors.

Chẳng hạn, chúng xảy ra khi chúng ta cố gắng mở một tệp (để đọc) không tồn tại (FileNotFoundError), cố gắng chia số cho 0 (ZeroDivisionError) hoặc cố gắng nhập một mô -đun không tồn tại (ImportError).

Bất cứ khi nào các loại lỗi thời gian chạy này xảy ra, Python tạo ra một đối tượng ngoại lệ. Nếu không được xử lý đúng cách, nó sẽ in một dấu vết cho lỗi đó cùng với một số chi tiết về lý do tại sao lỗi đó xảy ra.

Hãy xem cách Python xử lý các lỗi này:

>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'

Python ngoại lệ tích hợp

Hoạt động bất hợp pháp có thể nâng cao ngoại lệ. Có rất nhiều trường hợp ngoại lệ tích hợp trong Python được nêu ra khi xảy ra lỗi tương ứng. Chúng tôi có thể xem tất cả các ngoại lệ tích hợp bằng cách sử dụng chức năng local() tích hợp như sau:

print(dir(locals()['__builtins__']))

locals()['__builtins__'] sẽ trả về một mô-đun các ngoại lệ, chức năng và thuộc tính tích hợp.

>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
0 cho phép chúng tôi liệt kê các thuộc tính này là chuỗi.

Một số trường hợp ngoại lệ tích hợp phổ biến trong lập trình Python cùng với lỗi gây ra chúng được liệt kê dưới đây:

Ngoại lệNguyên nhân gây ra lỗi
>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
1
Lớn lên khi một tuyên bố
>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
2 thất bại.
>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
3
Lớn lên khi gán thuộc tính hoặc tham chiếu không thành công.
>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
4
Lớn lên khi hàm
>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
5 đạt điều kiện cuối tập tin.
>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
6
Lớn lên khi một hoạt động điểm nổi thất bại.
>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
7
Nâng cao khi phương thức
>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
8 của một trình tạo được gọi.
ImportErrorLớn lên khi không tìm thấy mô -đun nhập khẩu.
print(dir(locals()['__builtins__']))
0
Nêu ra khi chỉ số của một chuỗi nằm ngoài phạm vi.
print(dir(locals()['__builtins__']))
1
Lớn lên khi không tìm thấy chìa khóa trong từ điển.
print(dir(locals()['__builtins__']))
2
Lớn lên khi người dùng nhấn phím ngắt (
print(dir(locals()['__builtins__']))
3 hoặc
print(dir(locals()['__builtins__']))
4).
print(dir(locals()['__builtins__']))
5
Lớn lên khi một hoạt động hết bộ nhớ.
print(dir(locals()['__builtins__']))
6
Lớn lên khi một biến không được tìm thấy trong phạm vi địa phương hoặc toàn cầu.
print(dir(locals()['__builtins__']))
7
Được nuôi dưỡng bởi các phương pháp trừu tượng.
print(dir(locals()['__builtins__']))
8
Lớn lên khi hoạt động hệ thống gây ra lỗi liên quan đến hệ thống.
print(dir(locals()['__builtins__']))
9
Lớn lên khi kết quả của một hoạt động số học là quá lớn để được thể hiện.
:0Lớn lên khi một proxy tham chiếu yếu được sử dụng để truy cập vào một người giới thiệu được thu thập.
:1Nêu ra khi một lỗi không thuộc bất kỳ danh mục nào khác.
:2Được nâng lên bởi chức năng :3 để chỉ ra rằng không có mục nào được trả về bởi Iterator.
:4Được nâng lên bởi trình phân tích cú pháp khi gặp lỗi cú pháp.
:5Lớn lên khi có thụt lề không chính xác.
:6Nâng cao khi thụt lề bao gồm các tab và không gian không nhất quán.
:7Lớn lên khi thông dịch phát hiện lỗi nội bộ.
:8Được nâng lên bởi chức năng :9.
if0Lớn lên khi một hàm hoặc hoạt động được áp dụng cho một đối tượng thuộc loại không chính xác.
if1Lớn lên khi một tham chiếu được thực hiện 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 bị ràng buộc với biến đó.
if2Lớn lên khi xảy ra lỗi mã hóa hoặc giải mã liên quan đến Unicode.
if3Lớn lên khi xảy ra lỗi liên quan đến Unicode trong quá trình mã hóa.
if4Lớn lên khi xảy ra lỗi liên quan đến Unicode trong quá trình giải mã.
if5Lớn lên khi xảy ra lỗi liên quan đến Unicode trong quá trình dịch.
if6Lớn lên khi một hàm có một đối số có giá trị chính xác nhưng không đúng giá trị.
ZeroDivisionErrorLớn lên khi vận hành thứ hai của hoạt động phân chia hoặc modulo bằng không.

Nếu được yêu cầu, chúng ta cũng có thể xác định các ngoại lệ của chính mình trong Python. Để tìm hiểu thêm về họ, hãy truy cập các ngoại lệ do người dùng Python xác định.

Chúng tôi có thể xử lý các trường hợp ngoại lệ tích hợp và do người dùng xác định trong Python bằng cách sử dụng các câu lệnh if8, if9 và FileNotFoundError0. Để tìm hiểu thêm về họ, hãy truy cập Python thử, ngoại trừ và cuối cùng là các tuyên bố.

Có bao nhiêu loại ngoại lệ trong Python?

Các lỗi này có thể được phân loại thành hai lớp: lỗi cú pháp.Lỗi logic (ngoại lệ)two classes: Syntax errors. Logical errors (Exceptions)

5 loại ngoại lệ trong Python là gì?

Ngoại lệ tích hợp.

3 loại ngoại lệ chính trong Python là gì?

Chủ yếu có ba loại lỗi có thể phân biệt trong Python: lỗi cú pháp, ngoại lệ và lỗi logic.syntax errors, exceptions and logical errors.

Bạn có thể có hai ngoại lệ trong Python?

Bằng cách xử lý nhiều ngoại lệ, một chương trình có thể đáp ứng các ngoại lệ khác nhau mà không cần chấm dứt nó.Trong Python, các khối Except thử có thể được sử dụng để bắt và trả lời một hoặc nhiều trường hợp ngoại lệ.Trong trường hợp một quy trình tăng nhiều hơn một ngoại lệ có thể, tất cả chúng đều có thể được xử lý bằng một mệnh đề ngoại trừ duy nhất.try-except blocks can be used to catch and respond to one or multiple exceptions. In cases where a process raises more than one possible exception, they can all be handled using a single except clause.