Các loại lỗi khác nhau trong lớp python 11 là gì?

Chủ yếu có ba loại lỗi có thể phân biệt được trong Python. lỗi cú pháp, ngoại lệ và lỗi logic

  • Lỗi cú pháp tương tự như lỗi ngữ pháp hoặc lỗi chính tả trong Ngôn ngữ. Nếu có lỗi như vậy trong mã của bạn, Python không thể bắt đầu thực thi mã của bạn. Bạn nhận được một thông báo lỗi rõ ràng cho biết lỗi gì và cần sửa lỗi gì. Do đó, nó là loại lỗi dễ dàng nhất mà bạn có thể sửa chữa
  • Thiếu ký hiệu [chẳng hạn như dấu phẩy, dấu ngoặc, dấu hai chấm], viết sai từ khóa, thụt lề không chính xác là những lỗi cú pháp phổ biến trong Python
  • Các ngoại lệ có thể xảy ra trong các khối mã đúng cú pháp trong thời gian chạy. Khi Python không thể thực thi hành động được yêu cầu, nó sẽ chấm dứt mã và đưa ra thông báo lỗi
  • Cố gắng đọc từ một tệp không tồn tại, thực hiện các thao tác với các loại biến không tương thích, chia một số cho 0 là những ngoại lệ phổ biến gây ra lỗi trong Python
  • Chúng ta phải loại bỏ các lỗi cú pháp để chạy mã Python của mình, trong khi các ngoại lệ có thể được xử lý trong thời gian chạy
  • Lỗi logic là lỗi khó sửa nhất vì chúng không làm hỏng mã của bạn và bạn không nhận được bất kỳ thông báo lỗi nào
  • Nếu bạn có lỗi logic, mã của bạn không chạy như bạn mong đợi
  • Sử dụng sai tên biến, code không phản ánh đúng logic thuật toán, mắc lỗi toán tử boolean sẽ dẫn đến lỗi logic
# Syntax Error-1: Misusing the Assignment Operator
len["data"] = 4
Output:
File "ErrorsAndExceptions.py", line 1
len["data"] = 4
SyntaxError: can't assign to function call
# Syntax Error-2: Python Keyword Misuse
fr
k in range[10]:
print[k]
Output:
File "ErrorsAndExceptions.py", line 4
fr k in range[10]:
^
SyntaxError: invalid syntax
# Exception-1: ZeroDivisionError
print [5/0]
Output:
Traceback [most recent call last]:
File "ErrorsAndExceptions.py", line 12, in
print [5/0]
ZeroDivisionError: integer division or modulo by zero
# Exception-2: TypeError
print ['4' + 4]
Output:
Traceback [most recent call last]:
File "ErrorsAndExceptions.py", line 10, in
print ['4' + 4]
TypeError: cannot concatenate 'str' and 'int' objects

Ảnh của Uchral Sanjaadorj trên UnsplashSyntax Errors

Khi mã của bạn có lỗi cú pháp, Python sẽ dừng và phát hiện lỗi bằng cách cung cấp vị trí lỗi trong mã của bạn và định nghĩa lỗi rõ ràng

# Syntax Error-1: Misusing the Assignment Operator
len["data"] = 4
Output:
File "ErrorsAndExceptions.py", line 1
len["data"] = 4
SyntaxError: can't assign to function call

Bạn cần sửa lỗi cú pháp để chạy mã của mình

len["data"] == 4
Output:
True
Xử lý ngoại lệ

Mục đích chính của việc xử lý ngoại lệ là ngăn chặn các lỗi tiềm ẩn và các điểm dừng không kiểm soát được

Chúng ta có thể bắt và xử lý một ngoại lệ bằng khối thử ngoại trừ

  • khối thử chứa mã được theo dõi cho các trường hợp ngoại lệ
  • khối ngoại trừ chứa những việc cần làm nếu một ngoại lệ cụ thể xảy ra. Nếu không có ngoại lệ nào xảy ra thì phần này được bỏ qua và câu lệnh thử ngoại trừ được kết thúc
  • Nếu ngoại lệ được đưa ra khớp với từ được chỉ định trong từ khóa except, mã bên trong khối ngoại trừ được thực thi để xử lý ngoại lệ
  • Bạn có thể bắt bất kỳ ngoại lệ nào nếu bạn không chỉ định bất kỳ loại ngoại lệ nào trong từ khóa except
  • thử thực thi khối bị chấm dứt khi ngoại lệ đầu tiên xảy ra
  • khối try-ngoại trừ có thể có nhiều hơn một khối ngoại trừ để xử lý một số loại ngoại lệ khác nhau
  • Khối khác tùy chọn chỉ được thực thi nếu không có ngoại lệ xảy ra trong khối thử. Nếu có bất kỳ ngoại lệ nào được đưa ra, khối lệnh khác sẽ không được thực thi
  • Khối cuối cùng tùy chọn được sử dụng để làm sạch mã. Khối này luôn được thực hiện
try:
#code to monitor
print [5/0]
#this code will not be executed
#as above line raises a ZeroDivisionError

print ["this code will not be executed"]
except ZeroDivisionError as e:
#code to handle the exception when it occurs

print[e]
print["OPPS"]
else:
print["try block executed if there is no error"]
finally:
print["finally block is always executed"]
Output:
integer division or modulo by zero
OPPS
finally block is always executed

Ảnh của Serenity Mitchell trên UnsplashRaising Exceptions

Nếu một điều kiện cụ thể xảy ra, bạn có thể tăng ngoại lệ theo cách thủ công bằng từ khóa tăng

student_age = -4if student_age < 2:
raise Exception["Sorry, student age cannot be lower than 2"]
Output:
Traceback [most recent call last]:
File "ErrorsAndExceptions.py", line 49, in
raise Exception["Sorry, student age cannot be lower than 2"]
Exception: Sorry, student age cannot be lower than 2
Xác định ngoại lệ tùy chỉnh

Chúng tôi có thể xác định các loại ngoại lệ của riêng mình nếu chúng tôi muốn có nhiều quyền kiểm soát hơn đối với những gì sẽ xảy ra trong các điều kiện cụ thể

Để làm được điều này, chúng ta kế thừa từ lớp Exception

class InvalidStudentAgeException[Exception]:"""Exception for errors in the student age
Attributes:
student_age -- student_age that we monitor
error_message -- explanation of the error
"""
def __init__[self, student_age, error_message="Student age should
be in 2-10 range"]:
self.student_age = student_age
self.error_message = error_message
super[].__init__[self.error_message]
student_age = int[input["Enter Student age: "]]if not 1 < student_age < 11:
raise InvalidStudentAgeException[student_age]
Output:
Enter Student age: 54
Traceback [most recent call last]:
File "ErrorsAndExceptions.py", line 68, in
raise InvalidStudentAgeException[student_age]
__main__.InvalidStudentAgeException: Student age should be in 2-10 range: 54 is not a valid age

Ở trên, chúng tôi ghi đè hàm tạo của lớp cơ sở Ngoại lệ để sử dụng các đối số tùy chỉnh của riêng chúng tôi student_age và error_message. Với việc sử dụng super[]. __init__[bản thân. error_message], chúng ta khởi tạo lớp cơ sở, Exception, đối số giúp chúng ta hiển thị thông báo lỗi

Các loại lỗi khác nhau trong Python là gì?

Có ba loại lỗi chính có thể phân biệt được trong Python. lỗi cú pháp, ngoại lệ và lỗi logic .

Ba lỗi trong Python là gì?

Có 3 loại lỗi cơ bản mà lập trình viên cần quan tâm. Lỗi cú pháp, lỗi thời gian chạy và Lỗi logic .

3 loại lỗi lập trình là gì?

Khi phát triển chương trình, có ba loại lỗi có thể xảy ra. lỗi cú pháp . lỗi logic . lỗi thời gian chạy .

Chủ Đề